Dispatch API'yi ne zaman uygulamalıyım?
LiteRT Dispatch API, belirli bir donanım hızlandırıcı çalışma zamanını LiteRT çerçevesine entegre etmeniz gerektiğinde gereklidir. Derleyici eklentisi tarafından oluşturulan derlenmiş alt grafikleri yürütmek için Compiler Plugin ile birlikte çalışır.
Dispatch API, LiteRT'nin bir hızlandırıcının çalışma zamanıyla oturum yönetmek için kullanacağı, satıcı tarafından uygulanan bir işlevler kümesidir. Bu işlevler, cihaz oturumlarını, alt grafik yürütmeyi ve ana makine ile cihaz arasındaki arabellek hareketini kapsar. Derleyici eklentisiyle birlikte gönderim API'sinin uygulanması, LiteRT'nin verimli çıkarım için hızlandırıcının özelliklerinden tam olarak yararlanmasına olanak tanır.
Gönderme API'sinin (ve derleyici eklentisinin) "ne zaman" uygulanacağıyla ilgili daha ayrıntılı bilgiyi LiteRT Compiler Plugin sayfasında bulabilirsiniz.
Dispatch API nasıl çalışır?
Dispatch API, CompiledModel tarafından NpuAccelerator kullanılarak kullanılır. Bu işlem dahili olarak bir DispatchDelegate oluşturur ve çalışan donanıma yerleştirilmiş NPU'yu kullanmak için Dispatch API'yi kullanan bu DispatchDelegate'dır.
Dispatch API Veri Türleri
Dispatch API'de, NPU'larda bir modeli yürütmek için aşağıdaki veri türleri kullanılır.
DispatchDeviceContextNPU çıkarımı tarafından kullanılan arabellekleri yönetmek için kullanılır.
DispatchInvocationContextBu, modeli yürütmek için kullanılan veri yapısıdır. Bu özellik,
DispatchDeviceContextkaydedilen gerçek giriş ve çıkış belleğini oluşturulanDispatchGraphile ilişkilendirerek çalışır.
Gönderme API'leri
Dispatch API'nin tam tanımı için lütfen
vendors/c/litert_dispatch.h
dosyasına bakın.