進行我們的可用性調查以改進此站點。
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

設備發現和分配

在Android 10中,神經網絡API(NNAPI)引入了一些功能,這些功能允許機器學習框架庫和應用獲取有關可用設備的信息,並指定要在哪個設備上執行模型。提供有關可用設備的信息可讓應用獲取在設備上找到的驅動程序的確切版本,以避免已知的不兼容性。通過使應用程序能夠指定哪些設備將執行模型的不同部分,可以針對其所部署的產品優化應用程序。

NN HAL 1.2實施需要設備發現和分配支持。

實作

為了支持設備發現和分配特徵NNAPI,實現getTypegetVersionStringIDevice.hal允許的框架來獲得設備類型和驅動程序版本。

對於每個設備,將類型指定為以下類別之一,如在types.hal中的DeviceType中所指定。

  • OTHER不屬於任何其他類別的設備,包括異構接口,該接口是管理多個設備(可能是不同類型)的單個IDevice接口。具有異構接口的驅動程序還應公開與各個設備相對應的單獨的IDevice接口,以允許應用程序從那些設備中進行選擇。
  • CPU單核或多核CPU。
  • GPU可以運行NNAPI模型並加速圖形API(例如OpenGL ES和Vulkan)的GPU。
  • ACCELERATOR專用的神經處理單元(NPU)。

IDevice.hal實現getVersionString以獲取設備實現的版本字符串。此方法必須返回人類可讀的字符串。字符串的格式是特定於供應商的。每個新版本的驅動程序的版本字符串都必須不同。

IDevice接口的名稱必須遵循{VENDOR}-{DEVICE_NAME}格式。