All Projects → XiaoMi → Mace

XiaoMi / Mace

Licence: apache-2.0
MACE is a deep learning inference framework optimized for mobile heterogeneous computing platforms.

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
CMake
9771 projects
Starlark
911 projects
Jinja
831 projects

Projects that are alternatives of or similar to Mace

Computelibrary
The Compute Library is a set of computer vision and machine learning functions optimised for both Arm CPUs and GPUs using SIMD technologies.
Stars: ✭ 2,123 (-53.2%)
Mutual labels:  opencl, neon
Neon
Intel® Nervana™ reference deep learning framework committed to best performance on all hardware
Stars: ✭ 3,855 (-15.01%)
Mutual labels:  neon
Arrayfire
ArrayFire: a general purpose GPU library.
Stars: ✭ 3,693 (-18.58%)
Mutual labels:  opencl
Ilgpu
ILGPU JIT Compiler for high-performance .Net GPU programs
Stars: ✭ 374 (-91.75%)
Mutual labels:  opencl
Bayadera
High-performance Bayesian Data Analysis on the GPU in Clojure
Stars: ✭ 342 (-92.46%)
Mutual labels:  opencl
Qcgpu
High Performance Tools for Quantum Computing
Stars: ✭ 380 (-91.62%)
Mutual labels:  opencl
Xmrig Amd
Monero AMD (OpenCL) miner
Stars: ✭ 322 (-92.9%)
Mutual labels:  opencl
Aidlearning Framework
🔥🔥AidLearning is a powerful mobile development platform, AidLearning builds a linux env supporting GUI, deep learning and visual IDE on Android...Now Aid supports OpenCL (GPU+NPU) for high performance acceleration...Linux on Android or HarmonyOS
Stars: ✭ 4,537 (+0.02%)
Mutual labels:  opencl
Bytecoder
Rich Domain Model for JVM Bytecode and Framework to interpret and transpile it.
Stars: ✭ 401 (-91.16%)
Mutual labels:  opencl
Loopy
A code generator for array-based code on CPUs and GPUs
Stars: ✭ 367 (-91.91%)
Mutual labels:  opencl
Arrayfire Python
Python bindings for ArrayFire: A general purpose GPU library.
Stars: ✭ 358 (-92.11%)
Mutual labels:  opencl
Aparapi
The New Official Aparapi: a framework for executing native Java and Scala code on the GPU.
Stars: ✭ 352 (-92.24%)
Mutual labels:  opencl
Clspv
Clspv is a prototype compiler for a subset of OpenCL C to Vulkan compute shaders
Stars: ✭ 381 (-91.6%)
Mutual labels:  opencl
Rspirv
Rust implementation of SPIR-V module processing functionalities
Stars: ✭ 332 (-92.68%)
Mutual labels:  opencl
Chlorine
Dead Simple OpenCL
Stars: ✭ 419 (-90.76%)
Mutual labels:  opencl
Sdaccel examples
SDAccel Examples
Stars: ✭ 325 (-92.84%)
Mutual labels:  opencl
Trisycl
Generic system-wide modern C++ for heterogeneous platforms with SYCL from Khronos Group
Stars: ✭ 354 (-92.2%)
Mutual labels:  opencl
Hipsycl
Implementation of SYCL for CPUs, AMD GPUs, NVIDIA GPUs
Stars: ✭ 377 (-91.69%)
Mutual labels:  opencl
Bitcracker
BitCracker is the first open source password cracking tool for memory units encrypted with BitLocker
Stars: ✭ 463 (-89.79%)
Mutual labels:  opencl
Opencl Headers
Khronos OpenCL-Headers
Stars: ✭ 429 (-90.54%)
Mutual labels:  opencl
MACE

License Build Status pipeline status doc build status

Documentation | FAQ | Release Notes | Roadmap | MACE Model Zoo | Demo | Join Us | 中文

Mobile AI Compute Engine (or MACE for short) is a deep learning inference framework optimized for mobile heterogeneous computing on Android, iOS, Linux and Windows devices. The design focuses on the following targets:

  • Performance
    • Runtime is optimized with NEON, OpenCL and Hexagon, and Winograd algorithm is introduced to speed up convolution operations. The initialization is also optimized to be faster.
  • Power consumption
    • Chip dependent power options like big.LITTLE scheduling, Adreno GPU hints are included as advanced APIs.
  • Responsiveness
    • UI responsiveness guarantee is sometimes obligatory when running a model. Mechanism like automatically breaking OpenCL kernel into small units is introduced to allow better preemption for the UI rendering task.
  • Memory usage and library footprint
    • Graph level memory allocation optimization and buffer reuse are supported. The core library tries to keep minimum external dependencies to keep the library footprint small.
  • Model protection
    • Model protection has been the highest priority since the beginning of the design. Various techniques are introduced like converting models to C++ code and literal obfuscations.
  • Platform coverage
    • Good coverage of recent Qualcomm, MediaTek, Pinecone and other ARM based chips. CPU runtime supports Android, iOS and Linux.
  • Rich model formats support

Getting Started

Performance

MACE Model Zoo contains several common neural networks and models which will be built daily against a list of mobile phones. The benchmark results can be found in the CI result page (choose the latest passed pipeline, click release step and you will see the benchmark results). To get the comparison results with other frameworks, you can take a look at MobileAIBench project.

Communication

  • GitHub issues: bug reports, usage issues, feature requests
  • Slack: mace-users.slack.com
  • QQ群: 756046893

Contributing

Any kind of contribution is welcome. For bug reports, feature requests, please just open an issue without any hesitation. For code contributions, it's strongly suggested to open an issue for discussion first. For more details, please refer to the contribution guide.

License

Apache License 2.0.

Acknowledgement

MACE depends on several open source projects located in the third_party directory. Particularly, we learned a lot from the following projects during the development:

Finally, we also thank the Qualcomm, Pinecone and MediaTek engineering teams for their help.

Join Us

We are hiring.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].