Estratégias de otimização de desempenho para MNN em computação heterogênea
Uma característica distintiva da estrutura MNN é seu suporte à computação híbrida para vários dispositivos, que pode fazer uso total de diferentes unidades de computação no dispositivo. Para computação de CPU, o MNN otimiza o kernel computacional; para aceleração de GPU, a estrutura oferece suporte a Metal (dispositivos Apple), OpenCL (multiplataforma) e Vulkan (dispositivos Android) e outras APIs de back-end, que podem ser configuradas de forma flexível pelo desenvolvedor de acordo com as características do dispositivo.
Na prática, o MNN pode alocar automaticamente as tarefas de computação às unidades de computação mais adequadas para obter o uso ideal dos recursos de computação. Por exemplo, o pré-processamento simples pode ser feito pela CPU, as operações de matriz central são aceleradas pela GPU e a computação de borda pode ser atribuída ao processamento da NPU. Esse mecanismo inteligente de alocação de tarefas permite que a MNN mantenha alta eficiência computacional em diferentes dispositivos, especialmente ao lidar com redes com uso intensivo de computação, como a CNN, em que as vantagens são mais óbvias.
Essa resposta foi extraída do artigoMNN: uma estrutura de inferência de aprendizagem profunda leve e eficienteO































