Hai, Habr.
Baru-baru ini, dalam hal ini, 2019, NVIDIA
mengumumkan komputer papan tunggal yang kompatibel dengan faktor bentuk Raspberry Pi, yang berfokus pada AI dan perhitungan intensif sumber daya.

Setelah muncul dijual, menjadi menarik untuk melihat cara kerjanya dan apa yang bisa dilakukan di sana. Tidak terlalu menarik untuk menggunakan tolok ukur standar, jadi kami akan membuat sendiri, untuk semua tes kode sumber diberikan dalam teks. Bagi mereka yang tertarik dengan apa yang terjadi, terus di bawah potongan.
Perangkat keras
Sebagai permulaan, spesifikasi dari situs web NVIDIA:

Yang menarik, berikut adalah beberapa poin.
Yang pertama adalah GPU dengan 128 core, masing-masing, di papan Anda dapat menjalankan tugas berorientasi GPU, seperti CUDA (didukung dan diinstal di luar kotak) atau Tensorflow. Prosesor utama adalah 4-core, dan, seperti yang ditunjukkan di bawah ini, cukup bagus. Memori 4GB dibagi antara CPU dan GPU.
Yang kedua adalah kompatibilitas dengan Raspberry Pi. Papan ini memiliki konektor 40-pin dengan berbagai antarmuka (I2C, SPI, dll.), Ada juga konektor kamera, yang juga kompatibel dengan Raspberry Pi. Dapat diasumsikan bahwa sejumlah besar aksesori yang ada (layar, papan kontrol motor, dll.) Akan berfungsi (Anda mungkin harus menggunakan kabel ekstensi, karena ukuran Jetson Nano masih berbeda).
Ketiga, dewan memiliki 2 output video, Gigabit-Ethernet dan USB 3.0, mis. Jetson Nano secara keseluruhan bahkan sedikit lebih fungsional daripada prototipe. Daya 5V, dapat diambil baik melalui Micro USB, dan melalui konektor terpisah, yang direkomendasikan untuk
menambang bitcoin dari tugas intensif sumber daya. Seperti dalam Raspberry Pi, perangkat lunak dimuat dari kartu SD, gambar yang pertama-tama harus direkam. Secara umum, secara ideologis, papan ini sangat mirip dengan Raspberry Pi, yang tampaknya dikandung di NVIDIA. Tetapi tidak ada WiFi di papan tulis, ada minus yang pasti, mereka yang ingin harus menggunakan modul USB-WiFi.
Jika Anda melihat lebih dekat, Anda dapat melihat bahwa secara struktural perangkat terdiri dari dua modul - modul Jetson Nano itu sendiri, dan papan bawah dengan konektor, koneksi melalui konektor.

Yaitu papan dapat diputus dan digunakan secara terpisah, itu dapat nyaman untuk solusi yang tertanam.
Bicara soal harga. Harga asli Jetson Nano di AS adalah $ 99, harga di Eropa dengan mark-up di toko-toko lokal adalah sekitar 130 Euro (jika Anda mendapatkan diskon, Anda mungkin bisa menemukan lebih murah). Berapa biaya Nano di Rusia tidak diketahui.
Perangkat lunak
Seperti disebutkan di atas, unduhan dan pemasangan tidak jauh berbeda dari Raspberry Pi. Kami memuat
gambar ke kartu SD melalui Etcher atau Win32DiskImager, masuk ke Linux, letakkan perpustakaan yang diperlukan. Panduan langkah demi langkah yang sangat baik ada di
sini , saya menggunakannya. Mari kita beralih ke tes segera - mari kita coba untuk menjalankan berbagai program di bawah Nano, dan lihat bagaimana mereka bekerja. Sebagai perbandingan, saya menggunakan tiga komputer - laptop kerja saya (Core I7-6500U 2.5GHz), Raspberry Pi 3B + dan Jetson Nano.
Tes CPUUntuk memulai, tangkapan layar dari perintah lscpu.
Raspberry Pi 3B +:

Jetson nano:

Untuk perhitungan, mari kita mulai dengan sesuatu yang sederhana, tetapi membutuhkan waktu prosesor. Misalnya dengan menghitung angka Pi. Saya mengambil program Python sederhana dengan
stackoverflow .
Saya tidak tahu apakah itu optimal atau tidak, tetapi itu tidak masalah bagi kami - kami tertarik pada
waktu yang relatif .
Kode sumber di bawah spoiler Seperti yang diharapkan, program tidak bekerja dengan cepat. Hasil untuk Jetson Nano: 0.8c.

Raspberry Pi 3B + menunjukkan waktu yang lebih lama: 3.06c. Laptop "teladan" menyelesaikan tugas di 0,27-an. Secara umum, bahkan tanpa menggunakan GPU, prosesor utama di Nano cukup baik untuk faktor bentuknya. Mereka yang ingin dapat memeriksa Raspberry Pi 4, saya tidak memilikinya.
Tentunya ada orang yang ingin menulis di komentar bahwa Python bukan pilihan terbaik untuk perhitungan seperti itu, saya ulangi sekali lagi bahwa penting bagi kita untuk
membandingkan waktu, tidak perlu menguranginya. Jelas bahwa ada program yang menghitung angka Pi jauh lebih cepat.
PycudaMari kita beralih ke perhitungan yang lebih menarik menggunakan GPU, yang tentu saja (papan dari NVIDIA), kita akan menggunakan CUDA. Pustaka PyCUDA memerlukan perdukunan selama instalasi, tidak menemukan cuda.h, penggunaan perintah "sudo env" PATH = $ PATH "pip install pycuda" membantu, mungkin ada cara lain (lebih banyak opsi dibahas
di forum devtalk.nvidia.com ).
Untuk pengujian, saya mengambil program sederhana
SimpleSpeedTest untuk PyCUDA, yang hanya menghitung sinus dalam satu lingkaran, tidak ada gunanya, tetapi sangat mungkin untuk mengevaluasinya, dan kodenya sederhana dan jelas.
Kode sumber di bawah spoiler Seperti yang Anda lihat, perhitungan dilakukan menggunakan GPU melalui CUDA dan menggunakan CPU melalui numpy.
Hasil:
Jetson nano - GPU 0,67c, CPU 13,3c.
Raspberry Pi 3B + - 41.85c CPU, GPU - tidak ada data, CUDA pada RPi tidak berfungsi.
Notebook - GPU 0,05, CPU 3,08c.
Semuanya sangat diharapkan. Perhitungan pada GPU jauh lebih cepat daripada perhitungan pada CPU (masih 128 core), Raspberry Pi tertinggal cukup signifikan. Yah, tentu saja, tidak peduli
berapa banyak Anda memberi makan serigala, gajah masih memiliki kartu video laptop jauh lebih cepat daripada kartu di Jetson Nano - kemungkinan ada lebih banyak inti pemrosesan di dalamnya.
Kesimpulan
Seperti yang Anda lihat, papan NVIDIA ternyata sangat menarik dan sangat produktif. Ini sedikit lebih besar dan lebih mahal daripada Raspberry Pi, tetapi jika seseorang membutuhkan lebih banyak daya komputasi dengan ukuran yang kompak, maka itu sangat berharga. Tentu saja, ini tidak selalu diperlukan - misalnya, untuk mengirim suhu ke narodmon, Raspberry Pi Zero sudah cukup, dan dengan beberapa margin. Jadi Jetson Nano tidak mengklaim untuk
mengganti Raspberry dan klon, tetapi untuk tugas-tugas yang intensif sumber daya, ini sangat menarik (dapat berupa tidak hanya drone atau robot seluler, tetapi juga, misalnya,
kamera untuk bel pintu dengan pengenalan wajah).
Pada satu bagian, semua yang dikandung tidak sesuai. Pada bagian kedua, akan ada tes bagian AI - tes Keras / Tensorflow dan tugas klasifikasi dan pengenalan gambar.