O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Descoberta e atribuição de dispositivos

No Android 10, a Neural Networks API (NNAPI) apresenta funções que permitem que bibliotecas e aplicativos de estrutura de aprendizado de máquina obtenham informações sobre os dispositivos disponíveis e especifiquem em quais dispositivos executar um modelo. Fornecer informações sobre os dispositivos disponíveis permite que os aplicativos obtenham a versão exata dos drivers encontrados no dispositivo para evitar incompatibilidades conhecidas. Ao dar aos aplicativos a capacidade de especificar quais dispositivos devem executar diferentes seções de um modelo, os aplicativos podem ser otimizados para o produto no qual são implantados.

O suporte para descoberta e atribuição de dispositivos é necessário para implementações de NN HAL 1.2.

Implementação

Para oferecer suporte aos recursos de descoberta e atribuição de dispositivo em NNAPI, implemente getType e getVersionString em IDevice.hal para permitir que a estrutura obtenha o tipo de dispositivo e a versão do driver.

Para cada dispositivo, especifique o tipo como uma das seguintes categorias, conforme especificado em DeviceType em types.hal .

  • OTHER : Um dispositivo que não se enquadra em nenhuma das outras categorias, incluindo uma interface heterogênea, que é uma única interface IDevice que gerencia vários dispositivos, possivelmente de diferentes tipos. Um driver com uma interface heterogênea também deve expor interfaces IDevice separadas que correspondem a dispositivos individuais para permitir que um aplicativo escolha entre esses dispositivos.
  • CPU : Um único núcleo ou CPU multicore.
  • GPU : uma GPU que pode executar modelos NNAPI e acelerar APIs gráficas, como OpenGL ES e Vulkan.
  • ACCELERATOR : Uma unidade de processamento neural dedicada (NPU).

Implemente getVersionString em IDevice.hal para obter a string de versão da implementação do dispositivo. Este método deve retornar uma string legível por humanos. O formato da string é específico do fornecedor. A string da versão deve ser diferente para cada nova versão de um driver.

O nome da interface do IDevice deve seguir o formato {VENDOR}-{DEVICE_NAME} .