Nvidia (NVDA), Jetson AGX Orin üzerinde Python ile DLA çıkarımını yapılandırmayı gösteren bir geliştirici örneğini ayın 13'ünde yayımladı. Örnek, desteklenen sinir ağı işlemlerini DLA'ya aktarırken GPU'daki ön işleme ve son işleme adımlarını bunlarla nasıl birleştireceğini anlatıyor.
Örneğin merkezinde cuda.bindings.cudla yer alıyor. cuda-bindings 13.3.0 ile sunulan bu Python katmanı, mevcut cuDLA C++ API'sinin Python programlarından çağrılmasını sağlıyor.
Python, cihazı ve çıkarım işlerini yönetiyor. Sinir ağı hesaplamaları Jetson AGX Orin'in DLA donanımında yürütülüyor; Python kodu doğrudan DLA üzerinde çalışmıyor.
Örnek, GPU ön işlemesini, DLA çıkarımını ve GPU son işlemesini tek bir CUDA akışında sıralıyor. CUDA akışı bu işlerin yürütülme sırasını koordine ediyor.
Geliştirici, eğitilmiş modeli TensorRT'nin trtexec aracıyla önceden derleyerek DLA'nın okuyabildiği bir loadable dosya oluşturuyor. Python uygulaması, çıkarımı çalıştırırken bu dosyayı yüklüyor.
Program dosyayı belleğe alıyor, giriş ve çıkış tensörlerinin boyutlarıyla biçimlerini kontrol ediyor. Ardından GPU belleğini cuDLA'ya kaydedip çıkarım işini gönderiyor ve işlem tamamlanınca sonucu okuyor.
TensorRT, DLA dosyasını oluşturmak için kullanılıyor; çalıştırma aşamasında ise JetPack'e dahil olan libcudla.so çalışma zamanı gerekiyor. Model derlemesini ve çıkarımın yürütülmesini farklı bileşenler üstleniyor.
Örnek, GPU ile DLA'yı CUDA akışı üzerinden koordine eden CUDA_DLA hibrit modunu kullanıyor. Nvidia, bu sürümün ayrı NvSci tamponları ve eşzamanlama ilkelleri gerektiren bağımsız cuDLA çalışma modunu desteklemediğini belirtti.
DLA, tanımlı işlemleri gerçekleştiren sabit işlevli bir hızlandırıcı. GPU'nun çalıştırabildiği tüm sinir ağı katmanlarını desteklemiyor. Nvidia, uyumlu olmayan katmanlar varsa ONNX modelinin grafiğinde değişiklik gerekebileceğini açıkladı. Modeli kullanırken DLA'nın desteklediği katmanlar ve tensör biçimi koşulları kontrol edilmeli.
TensorRT belgelerinde, DLA'da çalıştırılamayan katmanların GPU'ya yönlendirilebildiği de belirtiliyor. Bu özellik etkinleştirildiğinde bazı katmanlar GPU'da çalışabileceği için, çıkarımın ne kadarının gerçekten DLA'da yürütüldüğünü kontrol etmek gerekiyor.
Nvidia, ayın 13'ünde yayımladığı teknik blogda desteklenen işlemlerin DLA'ya aktarılmasının güç verimliliğini artırabileceğini ve GPU kaynaklarını başka işlere ayırabileceğini belirtti. Ancak yazıda Jetson AGX Orin'in güç tüketimine veya GPU'ya kıyasla işlem hızına ilişkin ölçüm paylaşılmadı.
Nvidia'nın uygulama alanı olarak gösterdiği başlıklar uç yapay zekâ, robotik ve bilgisayarlı görü. TokenPost daha önce Jetson Orin Nano'da Nemotron 3.5 Bolt E4B çalıştırılırken kullanılan bellek miktarını Nvidia'nın yayımladığı ölçümlerle birlikte ele almıştı.
Örneğin model derleme ortamı için TensorRT 11.4.1, CUDA 13.4 Update 1 ve JetPack 7.2.2 veya üzeri gerekiyor. TensorRT belgeleri de Jetson AGX Orin'de DLA desteği için JetPack 7.2.2 veya üzeri sürümü şart koşuyor.
Teknik blogun kurulum yönergesinde Python 3.10 asgari sürüm olarak belirtiliyor. Ancak cuda-bindings 13.5.0 sürüm notlarında Python 3.10 desteğinin sona erdiği yazıyor. Kurulum sırasında kullanılan paket sürümünün desteklediği Python sürümlerini karşılaştırmak gerekiyor.
Comment 0