La famiglia di moduli di sviluppo edge/IA/robotica a SoC singolo Jetson Orin offre 6 opzioni disponibili per qualsiasi livello di complessità. Tuttavia, finora era possibile utilizzare solo un modulo alla volta. In questo articolo scoprirai come il nuovo Jetson AGX Orin Developer Kit consente di distribuire gli sforzi di sviluppo su più moduli per semplificare i processi e massimizzare l'efficienza.
Con l'annuncio di Jetson Orin Nano questa settimana alla GTC, ora l'intera linea di moduli Jetson Orin è stata presentata. Con prestazioni AI fino a 40 TOPS, i moduli Orin Nano stabiliscono il nuovo standard per l'AI entry-level, proprio come Jetson AGX Orin sta già ridefinendo la robotica e altri casi d'uso autonomi edge con prestazioni di elaborazione di classe server pari a 275 TOPS.
Tutti i moduli Jetson Orin e il Jetson AGX Orin Developer Kit si basano su un'unica architettura SoC con una GPU NVIDIA Ampere Architecture, una CPU ad alte prestazioni e gli acceleratori più recenti. Questa architettura condivisa significa che è possibile sviluppare software per un modulo Jetson Orin e poi distribuirlo facilmente a tutti gli altri.
Puoi iniziare oggi stesso lo sviluppo di qualsiasi modulo Jetson Orin utilizzando il Jetson AGX Orin Developer Kit. La capacità del kit per sviluppatori di emulare in modo nativo le prestazioni di uno qualsiasi dei moduli permette di iniziare subito e di ridurre il time-to-market. Il kit per sviluppatori è in grado di emulare con precisione le prestazioni di qualsiasi modulo Jetson Orin configurando le funzionalità hardware e i clock in modo che corrispondano a quelli del modulo di destinazione.
I team di sviluppo traggono vantaggio dalla semplicità di aver bisogno di un solo tipo di kit per sviluppatori, indipendentemente dai moduli destinati alla produzione. Ciò semplifica anche l'infrastruttura CI/CD. Che si sviluppi per la robotica, l'analisi video o qualsiasi altro caso d'uso, le potenzialità di questo kit per sviluppatori offrono numerosi vantaggi.
Trasforma il kit per sviluppatori Jetson AGX Orin in qualsiasi modulo Jetson Orin
Con un solo passaggio puoi trasformare un Jetson AGX Orin Developer Kit in uno qualsiasi dei moduli Jetson Orin. Per questo processo vengono forniti i file di configurazione flashing.
Per emulare il modulo Jetson Orin sul kit per sviluppatori Jetson AGX Orin, segui gli stessi passaggi indicati per eseguire il flashing di un kit per sviluppatori Jetson AGX Orin tramite le utility di flashing. Dopo aver attivato la modalità di ripristino forzato per il kit per sviluppatori, puoi utilizzare lo strumento da riga di comando flash.sh per eseguire il flashing di una nuova immagine. Ad esempio, questo comando esegue il flashing del kit per sviluppatori con la relativa configurazione predefinita:
$ sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1
Il comando esatto che usi dovrebbe essere modificato con il nome della configurazione flash appropriata per il modulo Jetson Orin di destinazione che stai emulando. Ad esempio, per emulare un modulo Jetson Orin NX da 16 GB, utilizzare il seguente comando:
$ sudo ./flash.sh jetson-agx-orin-devkit-as-nx-16gb mmcblk0p1
Nella tabella 1 sono elencati i moduli Jetson Orin e il comando flash.sh appropriato per ciascuno.
| Modulo Jetson Orin da emulare | Comando flashing |
| Jetson AGX Orin 64 GB | sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1 |
| Jetson AGX Orin 32 GB | sudo ./flash.sh jetson-agx-orin-devkit-as-jao-32gb mmcblk0p |
| Jetson Orin NX 16 GB |
sudo ./flash.sh jetson-agx-orin-devkit-as-nx16gb mmcblk0p1
|
| Jetson Orin NX 8GB |
sudo ./flash.sh jetson-agx-orin-devkit-as-nx8gb mmcblk0p1
|
| Jetson Orin Nano 8 GB* |
sudo ./flash.sh jetson-agx-orin-devkit-as-nano8gb mmcblk0p1
|
| Jetson Orin Nano 4GB |
sudo ./flash.sh jetson-agx-orin-devkit-as-nano4gb mmcblk0p1
|
Le configurazioni flash per i moduli Jetson Orin Nano non sono ancora incluse in NVIDIA JetPack, versione 5.0.2. Utilizzare queste nuove configurazioni dopo averle scaricate e aver applicato una patch di sovrapposizione su NVIDIA JetPack 5.0.2 seguendo le istruzioni presenti nel file scaricato.
Per ulteriori informazioni sulle configurazioni di flashing utili per l'emulazione, vedi Configurazioni flash per l'emulazione.
Una volta completato il flashing, completare l'avvio iniziale e la configurazione. È quindi possibile installare il resto dei componenti NVIDIA JetPack utilizzando SDK Manager o semplicemente utilizzando un gestore di pacchetti sul kit per sviluppatori in esecuzione:
sudo apt update sudo apt install nvidia-jetpack
Ora il kit per sviluppatori è in esecuzione e NVIDIA JetPack è installato. Il kit per sviluppatori Jetson AGX Orin ora emula le prestazioni e la potenza del modulo Jetson Orin specificato.
Emula accuratamente qualsiasi modulo Jetson Orin
Questa emulazione nativa è accurata perché configura il kit per sviluppatori in modo che corrisponda alle frequenze di clock, al numero di core GPU e CPU e agli acceleratori hardware disponibili con il modulo di destinazione.
Ad esempio, quando si emula il modulo Jetson Orin NX da 16 GB:
- La GPU del kit per sviluppatori è configurata con 1024 core CUDA e 32 core Tensor, con una frequenza massima di 918 MHz.
- Il complesso CPU è configurato con otto core Arm Cortex-A78AE che funzionano a 2 GHz.
- La DRAM è configurata a 16 GB con una larghezza di banda di 102 GB/s.
- Il sistema offre gli stessi profili di potenza supportati dal modulo Jetson Orin NX da 16 GB.
Apri l'interfaccia utente grafica di Jetson Power dal menu in alto sul desktop e vedrai che il sistema è stato configurato accuratamente in base al modulo di destinazione emulato. Il comando seguente permette di configurare il numero massimo di clock mostrando la modifica nell'interfaccia utente grafica di Jetson Power.
sudo jetson_clocks
La figura 2 mostra l'interfaccia utente grafica di Jetson Power dopo la configurazione del numero massimo di clock quando viene eseguito il flashing del kit di sviluppo di Jetson AGX Orin su un modulo Jetson AGX Orin da 64 GB emulato, rispetto a quando viene eseguito il flashing per emulare un modulo Jetson Orin NX da 16 GB.
Eseguendo vari campioni forniti con NVIDIA JetPack, è possibile osservare che le prestazioni vengono regolate in modo da corrispondere a quelle del modulo emulato. Ad esempio, il campione di benchmarking fornito con la libreria VPI può essere utilizzato per mostrare le prestazioni di CPU, GPU e PVA per i moduli Jetson AGX Orin da 64 GB, Jetson Orin NX da 16 GB e Jetson Orin Nano da 8 GB dopo aver configurato il Jetson AGX Orin Developer Kit per emulare il rispettivo modulo.
Per eseguire l'esempio di benchmarking VPI, utilizzare i seguenti comandi:
cd /opt/nvidia/vpi2/samples/05-benchmark sudo cmake . sudo make sudo ./vpi_sample_05_benchmark
L'esempio di benchmarking VPI restituisce la latenza in millisecondi per l'algoritmo gaussiano. La tabella 2 mostra i risultati per ciascuno dei moduli interessati.
|
Algoritmo: 5X5 Filtro gaussiano Dimensioni immagine in ingresso: 1920 X 1080 Formato di input: U16 |
Emulato come Jetson AGX Orin 64GB | Emulato come Jetson Orin NX 16GB | Emulato come Jetson Orin Nano 8GB |
| In esecuzione sulla CPU | 0.331 | 0.492 | 0.838 |
| In esecuzione su GPU | 0.065 | 0.143 | 0.210 |
| In esecuzione su PVA | 1.169 | 1.888 | – |
Allo stesso modo, è possibile eseguire campioni multimediali per la codifica e la decodifica.
Per decodificare, eseguire i seguenti comandi:
cd /usr/src/jetson_multimedia_api/samples/00_video_decode sudo make sudo ./video_decode H264 --disable-rendering --stats --max-perf <input file>
Per codificare, eseguire i seguenti comandi:
cd /usr/src/jetson_multimedia_api/samples/01_video_encode sudo make sudo ./video_encode input.yuv 1920 1080 H264 out.h264 -fps 30 1 -ifi 1000 -idri 1000 --max-perf --stats
La tabella 3 riporta i numeri FPS dopo l'esecuzione di questi campioni di codifica e decodifica tramite flussi video H.264 1080P a 30 FPS.
| Esempio di codifica/decodifica | Emulato come Jetson AGX Orin 64GB | Emulato come Jetson Orin NX 16GB | Emulato come Jetson Orin Nano 8GB |
| Codifica | 178 | 142 | 110* |
| Decodifica | 400 | 374 | 231 |
*Jetson Orin Nano non include un NVEncoder. Per la Tabella 3, la codifica per Jetson Orin Nano è stata eseguita sulla CPU utilizzando ffmpeg. Utilizzando quattro core della CPU si ottengono 110 FPS. Utilizzando due core della CPU, si sono ottenuti FPS pari a 73, mentre utilizzando un singolo core della CPU, si sono ottenuti FPS pari a 33.
Per dimostrare l'accuratezza dell'emulazione, abbiamo eseguito alcuni benchmark del modello di intelligenza artificiale sul Jetson AGX Orin Developer Kit emulato come Jetson AGX Orin 32GB. Abbiamo poi messo a confronto i risultati ottenuti eseguendo gli stessi benchmark sul modulo Jetson AGX Orin effettivo da 32 GB. Come si può vedere dai risultati, la differenza tra le prestazioni emulate e quelle reali è insignificante.
Sebbene il Jetson AGX Orin Developer Kit includa un modulo da 32 GB, fornisce lo stesso livello di prestazioni e viene fornito con 275 TOPS corrispondenti al Jetson AGX Orin da 64 GB. Per l'emulazione di Jetson AGX Orin da 64 GB non è richiesta alcuna configurazione di flashing speciale, ma è necessario utilizzare la configurazione di flashing appropriata per emulare Jetson AGX Orin da 32 GB su Jetson AGX Orin Developer Kit.
| Modello | Jetson AGX Orin 32GB emulato | Jetson AGX Orin 32GB Reale |
| PeopleNet (V2.5) | 327 | 320 |
| Riconoscimento delle azioni 2D | 1161 | 1151 |
| Riconoscimento delle azioni 3D | 70 | 71 |
| LPR Net | 2776 | 2724 |
| Dashcam Net | 1321 | 1303 |
| BodyPoseNet | 359 | 363 |
Esegui lo sviluppo end-to-end per qualsiasi modulo Jetson Orin
È possibile lavorare con l'intero stack software Jetson emulando un modulo Jetson Orin. Framework come NVIDIA DeepStream, NVIDIA Isaac e NVIDIA Riva funzionano in modalità di emulazione e strumenti come TAO Toolkit funzionano come previsto con modelli pre-addestrati da NGC. Lo stack software è indipendente dall'emulazione e le prestazioni corrispondono esattamente a quelle del target emulato.
Se stai sviluppando un caso d'uso di robotica o una pipeline di intelligenza artificiale per la visione, puoi eseguire oggi stesso lo sviluppo end-to-end per qualsiasi modulo Jetson Orin utilizzando il Jetson AGX Orin Developer Kit e la modalità di emulazione.
Sviluppa applicazioni robotiche con NVIDIA Isaac ROS per qualsiasi modulo Jetson Orin. È sufficiente utilizzare la giusta configurazione per eseguire il flashing e iniziare lo sviluppo ROS. La figura 5 mostra l'esecuzione di Isaac ROS Stereo Disparity DNN sul Jetson AGX Orin Developer Kit emulato come Jetson Orin Nano 8GB.
Sviluppa pipeline di intelligenza artificiale visiva utilizzando DeepStream sul kit per sviluppatori Jetson AGX Orin per qualsiasi modulo Jetson Orin. Funziona e basta!
La figura 6 mostra una pipeline IVA che esegue il rilevamento delle persone utilizzando DeepStream sul Jetson AGX Orin Developer Kit emulato come Jetson Orin Nano da 8 GB con quattro flussi di H.265 1080P a 30 FPS.
Arriva sul mercato più velocemente con il kit per sviluppatori Jetson AGX Orin
Con il supporto dell'emulazione è possibile passare più rapidamente alla produzione, avviando e terminando lo sviluppo di applicazioni con il kit per sviluppatori Jetson AGX Orin. Acquista il kit e inizia il tuo sviluppo.
