Ilustrasi: NVIDIA
Ilustrasi: NVIDIA

Optimalisasi Pipeline CV dalam Pengembangan Kendaraan Otomotif

Mohamad Mamduh • 15 November 2024 18:07
Jakarta: Di bidang pengembangan perangkat lunak kendaraan otomotif, model AI skala besar yang lebih besar diintegrasikan ke dalam kendaraan otonom. Modelnya berkisar dari model AI visi hingga model AI end-to-end untuk mengemudi otonom. Sekarang permintaan akan daya komputasi meningkat tajam, yang mengarah pada beban sistem yang lebih tinggi yang dapat berdampak negatif pada stabilitas dan latensi sistem.
 
Untuk mengatasi tantangan ini, Programmable Vision Accelerator (PVA), mesin perangkat keras berdaya rendah dan efisien yang tersedia di NVIDIA DRIVE SoC, dapat digunakan untuk meningkatkan efisiensi energi dan kinerja sistem secara keseluruhan.
 
Dengan menggunakan PVA, tugas yang biasanya ditangani oleh GPU atau mesin perangkat keras lainnya dapat dibongkar, sehingga mengurangi bebannya dan memungkinkan mereka mengelola tugas penting lainnya dengan lebih efisien.

Mesin PVA adalah prosesor sinyal digital advanced very long instruction word (VLIW), single instruction multiple data (SIMD). Ini dioptimalkan untuk tugas pemrosesan gambar dan akselerasi algoritma visi komputer.
 
PVA memberikan kinerja yang sangat baik dengan konsumsi daya yang sangat rendah. PVA dapat digunakan secara asinkron dan bersamaan dengan CPU, GPU, dan akselerator lainnya pada platform DRIVE sebagai bagian dari alur komputasi heterogen.
 
Inti VPU adalah unit pemrosesan utama. Ini adalah vektor SIMD VLIW DSP yang dioptimalkan untuk visi komputer. Ini mengambil instruksi melalui I-cache, dan mengakses data melalui VMEM.
 
DLUT adalah komponen perangkat keras khusus yang dikembangkan untuk meningkatkan efisiensi operasi pencarian paralel. Ini memungkinkan pencarian paralel menggunakan salinan tunggal tabel pencarian dengan menjalankan pencarian ini dalam alur yang dipisahkan, terlepas dari alur prosesor utama.
 
Dengan demikian, DLUT meminimalkan penggunaan memori dan meningkatkan throughput sekaligus menghindari konflik bank memori yang bergantung pada data, yang pada akhirnya mengarah pada peningkatan kinerja sistem secara keseluruhan.
 
VPU VMEM menyediakan penyimpanan data lokal untuk VPU, memungkinkan implementasi yang efisien dari berbagai pemrosesan gambar dan algoritma visi komputer. Ini mendukung akses dari host VPS luar seperti DMA dan R5, memfasilitasi pertukaran data dengan R5 dan komponen tingkat sistem lainnya.
 
VPU I-cache memasok data instruksi ke VPU saat diminta, meminta data instruksi yang hilang dari memori sistem, dan mempertahankan penyimpanan instruksi sementara untuk VPU.
 
Untuk setiap tugas VPU, R5 mengonfigurasi DMA, secara opsional mengambil program VPU ke dalam VPU I-cache, dan memulai setiap pasangan VPU-DMA untuk memproses tugas. Orin PVA juga menyertakan memori SRAM L2 untuk dibagikan antara dua set VPS dan DMA.
 
Dua perangkat DMA digunakan untuk memindahkan data di antara memori eksternal, memori PVA L2, dua VMEM (satu di setiap VPS), R5 TCM (memori yang digabungkan erat), memori deskriptor DMA, dan register konfigurasi tingkat PVA.
 
Dalam sistem yang dimuat ringan, dua akses DMA paralel ke DRAM dapat mencapai bandwidth baca/tulis masing-masing hingga 15 GB/dtk. Dalam sistem yang dibebani berat, bandwidth ini dapat mencapai hingga 10 GB/s masing-masing.
 
Mengenai kapasitas komputasi, INT8 GMAC (Giga Multiply-Accumulate Operations per Second) adalah 2048, tidak termasuk DLUT. GMAC FP32 adalah 32 per instans PVA.
 
Pengantar PVA SDK
Mirip dengan toolkit CUDA untuk GPU, NVIDIA PVA SDK dirancang untuk membuat algoritme visi komputer yang memanfaatkan kemampuan perangkat keras PVA. PVA SDK menyediakan API runtime, alat, dan tutorial untuk pengembangan, penerapan, dan sertifikasi keselamatan algoritma CV dan DL/ML. Ini menawarkan kerangka kerja build-to-deploy yang mulus, memungkinkan kompilasi silang kode menjadi biner yang dapat dieksekusi pada Tegra PVA.
 
PVA SDK menyediakan banyak algoritme siap pakai untuk mendukung kasus penggunaan visi komputer umum dalam mengemudi otonom dan robotika. Ini memungkinkan Anda untuk menggunakan algoritme ini secara default (dengan akses ke kode sumber) di lingkungan produksi atau menggunakan fitur PVA SDK untuk mengembangkan algoritme kustom.
 
NVIDIA telah mengembangkan banyak algoritme berdasarkan PVA SDK sesuai dengan kasus penggunaan CV yang umum. Gunakan algoritma PVA, dengan akses ke kode, dalam produksi atau hanya gunakan algoritme yang berbeda sebagai referensi untuk mengembangkan algoritme berharga Anda sendiri.
 
Banyak pengembang kendaraan otonom menghadapi tantangan sumber daya komputasi yang tidak mencukupi pada SoC mereka, yang mengakibatkan beban tinggi pada CPU, GPU, VIC, dan DLA. Untuk mengatasi masalah ini, perangkat keras PVA sedang dipertimbangkan untuk membongkar tugas pemrosesan dari mesin perangkat keras yang banyak digunakan ini di SoC.
 
Mesin perangkat keras PVA dapat memainkan peran penting di semua tahap pipa CV, mulai dari prapemrosesan hingga pascapemrosesan, memastikan penanganan pemrosesan gambar dan tugas visi komputer yang efisien dan efektif.
 
Prapemrosesan melibatkan tugas CV dasar untuk menyelaraskan atau menormalkan input untuk model. Ini termasuk operasi seperti pemetaan ulang (undistorsi), pemotongan, pengubahan ukuran, dan konversi warna (dari YUV ke RGB).
 
Dalam beberapa kasus, ketika gambar berasal dari NVDEC (mesin perangkat keras dekoder pada Tegra SoC), tata letak gambar adalah blok linier. Dalam hal ini, lebih banyak langkah diperlukan dalam tahap prapemrosesan untuk mengubah gambar linier blok menjadi gambar linier nada.
 
Mesin perangkat keras PVA sangat cocok untuk tugas-tugas ini. Namun, dalam kasus terikat memori, pertimbangkan untuk menggabungkan operasi PVA yang berdekatan untuk sepenuhnya menggunakan daya komputasi PVA.
 
Inferensi AI melakukan tugas CV inti yang diperlukan oleh kebutuhan bisnis berdasarkan model AI canggih. Langkah ini dapat dijalankan pada GPU atau DLA (Deep Learning Accelerator) untuk kinerja yang lebih baik.
 
API runtime PVA mendukung aliran NvSciSync dan CUDA asli, memungkinkan eksekusi yang efisien dari alur heterogen yang melibatkan GPU atau DLA tanpa menimbulkan latensi yang terkait dengan pengembalian ke CPU untuk penjadwalan.
 
Bergantung pada kasus penggunaan, model AI bisa berupa YOLO atau R-CNN untuk deteksi objek, regresi logistik atau k-tetangga terdekat (KNN) untuk klasifikasi, dan model lainnya, dan sebagainya.
 
Cek Berita dan Artikel yang lain di
Google News
(MMI)




TERKAIT

BERITA LAINNYA

social
FOLLOW US

Ikuti media sosial medcom.id dan dapatkan berbagai keuntungan