The mace-cl-compiled-program.bin file is associated with OpenCL (Open Computing Language), an open standard for parallel programming of heterogeneous systems. OpenCL allows developers to write programs that can execute across a range of device types, including CPUs, GPUs, and FPGAs (Field-Programmable Gate Arrays). The ".bin" extension typically denotes a binary file, which, in computing, refers to a file that contains data in a binary format, often executable or containing compiled code.
You might wonder why MACE uses OpenCL. Vulkan Compute is newer and more modern, but OpenCL has broader legacy support on older Android devices (API level 21+). OpenCL also allows for better fine-tuning of memory transactions (image vs. buffer objects) which is critical for convolutional neural networks. mace-cl-compiled-program.bin
: The result of the compilation is a binary file, such as mace-cl-compiled-program.bin, which contains the compiled kernels in a format that can be loaded and executed by the OpenCL runtime on the target device. The mace-cl-compiled-program
If you have recently been browsing the depths of your Android device’s file system, scraping through an IoT firmware dump, or analyzing a medical imaging device’s storage, you might have stumbled upon a cryptic file named . You might wonder why MACE uses OpenCL
MaceStatus status = MaceEngineFactory::New( engine_config, "mace-cl-compiled-program.bin", // precompiled binary input_nodes, output_nodes, &engine );
MACE (Mobile AI Compute Engine) is a deep learning inference framework developed by Xiaomi. It supports: