Terkadang ada keinginan untuk melarikan diri dari kesibukan duniawi dan melakukan sesuatu yang menarik. Dalam kasus saya, itu adalah
Vindinium - sebuah kompetisi AI di mana empat ksatria berjuang untuk kemuliaan, kekayaan, dan makanan.

Dan kita akan mempersiapkan diri kita tugas - untuk masuk ke papan peringkat. Namun, tugas itu akan diselesaikan bahkan lebih menarik jika kita menetapkan batasan ketat - kecerdasan buatan akan menarik sumber daya bukan dari komputer kita yang kuat, tetapi dari papan tunggal pada arsitektur ARM! Pada saat yang sama, kita tidak hanya akan mendapatkan pengalaman dengan perangkat portabel, tetapi juga kemampuan untuk menjaga bot pada 24/7 tanpa kerusakan pada komputer utama!
Bagian 2Bagian 3Ayo mulai!
Berapa lama, secara singkat, tiga komputer papan tunggal dengan harga murah ditemukan - Orange Pi Zero, NanoPi Neo, NanoPi Neo2, karakteristik singkatnya disajikan dalam tabel:
| Pi oranye nol | NanoPi Neo | NanoPi Neo2 |
---|
Ukuran RAM | 512MB DDR3 | 512MB DDR3 | 512MB DDR3 |
Memori internal | - | - | - |
CPU | Allwinner H2 + Cortex A7 (arsitektur 32-bit, 4 core, frekuensi hingga 1200Hz) | Allwinner H3 Cortex A7 (arsitektur 32-bit, 4 core, frekuensi hingga 1200Hz) | Allwinner H5 Cortex-A53 (arsitektur 64- bit, 4 core, frekuensi hingga 1500Hz ) |
Inti grafis | ARM Mali400 MP2, tanpa sedikitpun OpenCL | ARM Mali400 MP4, tanpa sedikitpun OpenCL | ARM Mali450 MP4, tanpa sedikit pun OpenCL |
"Tiga ukuran", mm | 52x46x17 | 40x40x17 | 40x40x17 |
Akses internet | 100Mbps Ethernet + 802.11 b / g / n WiFi dengan antena | 100Mbps Ethernet | Ethernet 1Gbps |
Jumlah Output USB | 1 (+2 ditampilkan) | 1 (+2 ditampilkan) | 1 (+2 ditampilkan) |
Harga (+ pengiriman ke Moskow), $ | 7 + 3,85 = 10,85 | 8 + 5 = 13 | 15 + 5 = 20 |
Pengiriman Orange Pi Zero memakan waktu tepat 20 hari, Neo dan Neo2 tiba sehari sebelumnya, saya pikir, sangat cepat.
Mari kita mulai mengerti ...
Perlu dikatakan bahwa Basic Starter Kit ($ 13) dipesan untuk Neo, yang, selain komputer, termasuk:
- Konverter USB-ke-UART;
- radiator besar (jika Anda dapat memanggil plat aluminium seukuran komputer seperti itu);
- Kartu MicroSD pada 8GB SanDisk 10class.
- Kabel MicroUSB.
Ada juga Starter Kit Lengkap ($ 29 + pengiriman), termasuk semua yang ada di Basic, ditambah case dan layar OLED, tetapi untuk tujuan kami ini agak berlebihan.
Bersiaplah untuk peluncuran pertama ...
Dari situs web
armbian kami mengunduh tiga gambar segar untuk NanoPi Neo, Neo2 dan OrangePi Zero, kami akan menggunakan kartu MicroSD yang diperoleh dari Basic Starter Kit.
Mulai sekarang, kita akan memanggil komputer papan tunggal komputer papan tunggal, dan komputer - komputer atau laptop besar dan kuat yang akrab bagi kita.Sekarang kami memiliki dua cara yang dapat digunakan untuk bekerja dengan pembayar tunggal:
[1] Melalui Ethernet;
Instruksi singkat- Kami menghubungkan satu papan melalui kabel Ethernet ke laptop, komputer atau router;
- Nyalakan daya untuk satu pemain;
- Kami memindai jaringan, untuk sebagian besar sistem berbasis linux dapat dilakukan menggunakan perintah "arp -a", untuk Windows ada nmap;
- Kami terhubung ke server papan tunggal, untuk linux: "ssh ip -l root", kata sandi standarnya adalah "1234"; pada Windows, Anda dapat menggunakan klien ssh, misalnya, dempul multifungsi
[2] Menggunakan konverter USB-ke-UART.
Instruksi singkat- Kami menghubungkan konverter ke komputer, menentukan alamat fisiknya: di linux kami melihat baris terakhir dari “dmesg | grep tty "dan mencari sesuatu yang mirip dengan ttyUSBX, untuk Windows kami mencari di Device Manager untuk perangkat COM baru
- Kami menghubungkan pelat tunggal ke konverter: kami menghubungkan kabel ke konverter sehingga GND terhubung dengan kabel hitam, dan TX berwarna kuning, lalu kami menghubungkan pelat tunggal (Neo / Neo2 terhubung ke satu-satunya kontak yang disolder dekat port USB sehingga kabel hitam dekat dengan tepi terdekat, dan kuning menunjuk ke arah kartu flash, ternyata urutan: GND, 5V, RX, TX; Orange Pi Zero tidak dapat dihubungkan dengan kabel yang datang dengan Paket Pemula, tidak ada 5V di tengah, jadi Anda harus menggunakan kabel yang berbeda)
- Sekarang Anda perlu menemukan program di mana akan nyaman untuk bekerja dengan konsol pada TTY / COM: untuk linux, saya akan merekomendasikan minicom atau dempul yang nyaman (Anda perlu menjalankan dengan hak pengguna super), dempul masih relevan untuk Windows
Anda perlu memantau suhu, Anda perlu memantau suhu ...
Kita harus mengontrol suhu jika kita ingin mengandung AI untuk Vindinium di atasnya, menghindari menurunkan frekuensi, pembekuan atau tidak berfungsinya papan tunggal. Mari kita menulis skrip sederhana untuk pemantauan suhu (pada saat yang sama, mari kita latih untuk menjalankan file .py):
Skripimport time, sys print('NanoTemp 0.1') while True: with open('/sys/devices/virtual/thermal/thermal_zone0/temp', 'r') as f: temp1 = f.read()[:-1] with open('/sys/devices/virtual/thermal/thermal_zone1/temp', 'r') as f: temp2 = f.read()[:-1] print('\r'+temp1+' '+ temp2) time.sleep(0.5)
Sekarang Anda dapat mengunggah file ini ke flash drive di direktori / home /
nama pengguna /.
TIP: Ubuntu, Debian, dan banyak sistem operasi berbasis Linux lainnya dapat bekerja dengan sistem file ext3 / ext4 dari bawah kotak; Windows akan menawarkan untuk memformat USB flash drive. Anda harus menggunakan utilitas yang memungkinkan Anda untuk bekerja dengan sistem file jenis ini, misalnya, menginstal driver Ext2Fsd.
Kemudian saya belajar tentang program seperti monitor armbian, yang dengannya Anda dapat dengan aman memantau tidak hanya suhu, tetapi juga frekuensi, waktu dan beban lokal, yang tidak diragukan lagi bermanfaat.
Kami menghubungkan setiap papan tunggal ke listrik, tunggu 15 menit dalam waktu siaga dan lihat hasilnya:
Pi oranye nol | NanoPi Neo | NanoPi Neo2 |
---|
60 ° C | 35 ° C | 50,3 ° C |
Menariknya, sensor pada Neo2 menunjukkan suhu hingga tempat desimal pertama, namun demikian, ia
menyembunyikan dari kami informasi tentang frekuensi prosesor saat ini .
Sangat menyedihkan bahwa Orange Pi Zero begitu panas dalam waktu idle, tidak seperti saudaranya Neo pada frekuensi yang sama 240MHz. Forum dipenuhi dengan ketidakpuasan tentang hal ini. Sebagai opsi yang menyelesaikan masalah ini, ditawarkan skrip khusus, mengedit file sistem, dan menggunakan pendingin. Namun, ada juga informasi bahwa ini semua tindakan terhadap pemanasan hingga 80 derajat dalam waktu idle, dan 55-60 derajat dalam versi baru armbian adalah normal dalam kasus ini. Rupanya,
masalahnya hanya diselesaikan sebagian .
Mari kita coba pasang pendingin pasif. Untuk Orange Pi Zero, satu set khusus dua heatsink untuk prosesor dan RAM dibeli seharga $ 2,82. Untuk NanoPi, kami memiliki radiator yang kuat, yang dapat dibeli secara terpisah dari Starter Pack seharga $ 2,99.
Sekarang gambar 15 menit setelah peluncuran terlihat seperti ini:
Pi oranye nol | NanoPi Neo | NanoPi Neo2 |
---|
53 ° C | 30 ° C | 39,5 ° C |
Pemanasan sampai penuh!
Terlihat bahwa jeruk itu sangat hangat. Menariknya, berapa derajat suhu akan melonjak selama beban. Kami akan menggunakan program cpuburn yang tersedia di repositori (untuk Neo dan Zero kami akan menggunakan perintah burnCortexA7, untuk Neo2 - burnCortexA8).
Baiklah katakan ...
Semua kartu papan tunggal dengan mudah mencapai suhu 80 derajat dengan empat salinan cpuburn - pendinginan pasif sepele untuk mengatasi pemanasan semacam itu. Namun, saya percaya bahwa dalam kasus Vindinium, tidak semuanya akan begitu menyedihkan - ada perubahan siklus dalam fase kerja dan waktu henti (menunggu respons dari server), dan program cpuburn sendiri dirancang untuk pembuangan panas yang paling efisien, AI tidak akan dapat memuat prosesor sedemikian rupa seperti setidaknya karena kebutuhan untuk menunggu data dari RAM, karena tugas kita tidak akan dapat sepenuhnya mengakomodasi cache prosesor.
Namun, fitur yang menarik muncul di sini - Orange Pi Zero mencapai 80 derajat bahkan dengan satu salinan cpuburn, untuk Neo2 tiga salinan sudah cukup, dan Neo untuk empat salinan tes.
Benchmark, orang membutuhkan roti dan tolok ukur!
Sebelum menulis AI, Anda perlu menentukan pertanyaan yang paling penting: berapa kali komputer papan tunggal ini lebih lemah daripada komputer konvensional? Saya tidak percaya bahwa sepotong kecil silikon, logam, dan textolite dapat melakukan sesuatu yang luar biasa.
Untuk benchmark,
utilitas phoronix-test-suite digunakan.
Berbeda dengan semua pemain papan tunggal, saya akan membiarkan diri saya untuk memasukkan laptop saya dalam pengujian (i5 2450M, 6gb DDR3, tanpa grafis diskrit, menjalankan Ubuntu 16,04 LTS) untuk memfasilitasi pengembangan AI (dimungkinkan untuk menjalankan potongan kode tertentu dan tahu berapa kali akan berubah waktu operasi dari bagian yang sama pada papan tunggal). Kami hanya menggunakan pendingin pasif. Untuk unit produktivitas, kami mengambil jeruk.
UPD: ketika artikel sedang dimoderasi, sebuah komputer tua ditemukan di dekat rumah (
Intel Pentium 4 (1 core, 2 threads, 2003, prosesor prosesor teratas pada arsitekturnya), 512MB DDR x2, Radeon 9600XT 128MB DDR), tiga belas tahun yang lalu, sistem seperti itu dapat disebut kuat. Untuk membandingkan bagaimana itu, saya menginstal
Windows 10 Ubuntu 16.04 LTS, yang mengejutkan saya, ternyata sangat fungsional.
| Laptop | Komputer dinosaurus | Pi oranye nol | NanoPi Neo | NanoPi Neo2 |
---|
John The Ripper 1.8.0, Uji: Blowfish (kakatua / detik) | 797 Real C / S (+ 125%) | 313 Nyata C / S (+ 125%) | 354 Nyata C / S | 394 Real C / S (+ 11%) | 475 Real C / S (+ 34%) |
Smallpt V1.0.2 (detik) | 586 Detik (4,6 kali lebih cepat) | 1214 Detik (2,2 kali lebih cepat) | 2694 Detik | 2240 Detik (1,2 kali lebih cepat) | 1289 Detik (2,08 kali lebih cepat) |
C-Ray v1.1 (detik) | 120,86 Detik (5,03 kali lebih cepat) | 294.61 Detik (2.37 kali lebih cepat) | 607.83 Detik | 485,71 Detik (1,25 kali lebih cepat) | 349,51 Detik (1,74 kali lebih cepat) |
Himeno Benchmark v3.0 (Parrots) | 1165.11 MFLOPS (+ 8908%) | 385.28 MFLOPS (+ 2455%) | 15,08 MFLOPS | 13,08 MFLOPS (15% lebih lemah) | 37,23 MFLOPS (+ 185%) |
ompress 7zip (beo) | 5010 MIPS (+ 585%, penyimpangan besar dari rata-rata: 22,77%) | 1706 MIPS (+ 88%) | 857 MIPS | 950 MIPS (+ 11%) | 1103 MIPS (+ 29%) |
ffmpeg (detik) | 30,69 Detik (13,25 kali lebih cepat) | 81,22 detik (5 kali lebih cepat) | 406,76 Detik | 426,94 Detik (5% lebih lambat) | Tes tidak memulai - kesalahan kompilasi |
Biaya memperhitungkan pengiriman akun dan radiator | $ 283,39 (+ 2046%) | - | 13,67 $ | 15,97 $ (+ 17%) | $ 22,97 (+ 68%) |
Ketika mempelajari informasi di Internet, menjadi jelas bahwa H2 + adalah
versi H3 yang sedikit dimodifikasi :
H2 + adalah varian H3 yang dirancang untuk unit OTT berkinerja rendah yang tidak memiliki Gigabit MAC dan dukungan 4K HDMI.
Asli:
H2 + adalah varian H3, yang ditargetkan pada kotak OTT low-end, yang tidak memiliki Gigabit MAC dan dukungan output 4K HDMI.
Dalam hal ini, menjadi menarik untuk alasan apa ada perbedaan kinerja dan rezim termal antara H2 + dan H3.
Untuk meringkas.
Dengan membandingkan tiga papan tunggal yang berbeda, saya dapat merangkum:
- Orange Pi Zero tidak diragukan lagi yang termurah. Kehadiran WiFi di papan adalah keuntungan yang sangat baik, tetapi kecepatannya tidak lebih dari 4Mbps (saya mendapat nilai yang sama), yang mengecualikan penggunaannya sebagai server file nirkabel biasa, tetapi untuk IoT sangat cocok . Anda harus membeli setidaknya beberapa radiator, agar tidak mengalami masalah dengan suhu abnormal, bahkan dalam waktu idle. Ada sisi lain yang indah - kehadiran TV-OUT, yang berhasil saya kerjakan, tetapi jika Anda mencari papan tunggal untuk bekerja dalam mode grafis, Anda harus melihat ke arah perangkat dengan HDMI, karena resolusi layar 720x576 tidak enak dipandang mata. Sangat nyaman bahwa toko resmi pabrikan tersedia di Aliexpress;
- NanoPi Neo, tidak seperti adiknya, kehilangan TV-OUT dan Wi-Fi bawaan (untuk operasi nirkabel Anda harus membeli dongle Wi-Fi seharga $ 2-3, tingkat transfer data yang dinyatakan sekitar 150 Mbps), dan dengan sendirinya, ia pergi ke bagian kelima lebih mahal, tetapi itu bisa menyenangkan kita dengan pembuangan panas yang lebih rendah, radiator suara yang kuat, kinerja yang lebih tinggi, yang akan mencakup semua kekurangan platform. Perlu juga diperhatikan berbagai komponen yang ditawarkan oleh pabrikan untuk keturunan mereka. Nuansa lain adalah Anda harus memesan dari situs resmi, meskipun ini sebenarnya tidak terlalu sulit;
- NanoPi Neo2. Versi firmware dari armbian berada pada tahap percobaan, yang dinyatakan dalam masalah yang dijelaskan dalam artikel (ketidakmampuan untuk melihat frekuensi, kesalahan mengkompilasi ffmpeg). Namun, bahkan dalam bentuk mentahnya, kedatangan kedua Neo dapat membanggakan kinerja yang cukup baik dalam pengujian (mengingat arsitektur 64-bit), Gigabit Ethernet, yang segera mengangkatnya sebagai favorit untuk tugas-tugas tersebut di mana kinerja yang baik dan kecepatan transfer data berkabel diperlukan. Tapi jangan lupa tentang Ubuntu Core, situasinya mungkin lebih baik, dan armbian tidak tinggal diam. Dalam hal biaya, tentu saja, lebih dari satu setengah kali lebih unggul dari jeruk, oleh karena itu layak untuk melihat pesaing di segmen harganya.
Bagi saya sendiri, saya memutuskan untuk terus bekerja dengan Neo dan Neo2, dan menyisihkan jeruk sampai ide yang menarik untuk rumah pintar muncul, karena Performa Neo sangat mirip dengan Zero, tetapi tanpa masalah suhu.
Pada artikel berikutnya, kita akan memilih bahasa pemrograman baru untuk diri kita sendiri, yang dapat Anda pelajari segera saat Anda menulis AI.
→
Tautan ke Vindinium→
Tautan ke subreddit Vindinium adalah hal yang sangat berguna, di sana Anda dapat melacak pergerakan saya di Vindinium
→
Tautan ke github saya dengan sedikit pekerjaan di VindiniumSaya akan sangat senang jika lebih banyak orang tertarik pada permainan ini, karena selama pertandingan, kesenangan dimulai!