GitXplorerGitXplorer
X

mace

public
4916 stars
817 forks
61 issues

Commits

List of commits on branch master.
Verified
0fc55a548ef41b37fd15fd8944de5155eb09b3c1

Merge pull request #789 from llhe/master

lllhe committed 6 months ago
Unverified
2b4f7cba70beab74681cf33a580b805ceca8dac2

Update job descriptions

lllhe committed 6 months ago
Unverified
49f068b36b95024c6f3cf87947fada9f7d9391c0

Update links in README.md

lllhe committed 2 years ago
Unverified
42ee056f2c4d683694bb55be7fa6262c01022e96

Merge branch 'feat/elementwise' into 'master'

yyuanlonglong-xiaomi committed 2 years ago
Unverified
56caabe0bd4a30012e0fecbdd3d5de1929dfc9eb

feat: add EltwiseType of SQR_DIFF and output qnn log by VLOG.

wwenshuai-xiaomi committed 2 years ago
Unverified
defe3789664e22608d2c9b0e7b721a5f2a2c6665

Merge branch 'support_htp_fp16' into 'master'

llu229 committed 2 years ago

README

The README file for this repository.
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.