O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Descoberta e atribuição de dispositivos

Em Android 10, as Redes Neurais API (NNAPI) apresenta as funções que permitem a aprendizagem de máquina bibliotecas do framework e aplicativos para obter informações sobre os dispositivos disponíveis e especificar quais dispositivos para executar um modelo on. 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 NN HAL 1.2.

Implementação

Para apoiar a descoberta de dispositivos e recursos de atribuição em NNAPI, implementar getType e getVersionString em IDevice.hal para permitir que o quadro para obter o tipo de dispositivo e versão do driver.

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

  • OTHER Um dispositivo que não se enquadra em nenhuma das outras categorias, incluindo uma interface heterogênea, que é um único: IDevice interface que gerencia múltiplos dispositivos, possivelmente de diferentes tipos. Um condutor com uma interface heterogénea também deve expor separadas IDevice interfaces que correspondem aos dispositivos individuais para permitir uma aplicação para escolher a partir desses dispositivos.
  • CPU : Um único núcleo ou CPU multicore.
  • GPU : A GPU que pode ser executado modelos NNAPI e acelerar APIs gráficas como o OpenGL ES e Vulkan.
  • ACCELERATOR : Uma unidade de processamento neural dedicado (NPU).

Implementar getVersionString em IDevice.hal para obter a cadeia 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 do IDevice interface deve seguir o {VENDOR}-{DEVICE_NAME} formato.