Mace-cl-compiled-program.bin -
By skipping the compilation phase at runtime, the application saves CPU cycles and memory, resulting in a smoother user experience. How is the File Generated?
Instead of recompiling OpenCL kernels from source code every time an application starts, MACE compiles them once, saves them to this file, and reloads them for subsequent executions. Purpose and Benefits
| Offset | Size (bytes) | Description | |--------|--------------|-------------| | 0x00 | 4 | Magic number ( MACE or MCLP ) | | 0x04 | 4 | Version (e.g., 0x00010000) | | 0x08 | 4 | Number of kernels | | 0x0C | 4 | Total binary size | | 0x10 | 4 | Offset to kernel table | | ... | ... | Vendor-specific headers (Movidius blob) | | ... | ... | Compiled ELF-like sections (VPU instructions) | | End | ... | Possibly signature/hash | mace-cl-compiled-program.bin
You will usually find this file in the internal storage of Android devices within the Android/data/ folders of apps that use the MACE framework for AI tasks. Is it safe to delete?
The mace-cl-compiled-program.bin file is essential for efficient and optimized ML model inference on Android devices. Here are some reasons why: By skipping the compilation phase at runtime, the
: This indicates that the file is a binary "blob." It isn't human-readable code; it is a pre-compiled version of an AI model optimized specifically for your phone’s hardware. Why is it on your phone?
MACE (Mobile AI Compute Engine) is optimized for , allowing neural networks to run efficiently across different hardware components like the CPU, GPU, and DSP. It is widely used in Xiaomi's MIUI applications , powering features like AI camera modes and voice assistants. Purpose of mace-cl-compiled-program.bin Purpose and Benefits | Offset | Size (bytes)
: Compare model start-up time with and without the mace_cl_compiled_program.bin file.
00000000: 4D41 4345 434C 0100 0000 0010 0000 MACECL......... 00000010: 0000 0000 0000 0000 0000 0000 0000 ................ 00000020: 0000 0000 0000 0000 0000 0000 0000 ................ 00000030: 0000 0000 0000 0000 0000 0000 0000 ................ 00000040: 0000 0000 0000 0000 0000 0000 0000 ................ 00000050: 0000 0000 0000 0000 0000 0000 0000 ................