Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Membangun Kode Parallel C++17 SYCL pada Papan IoT Raspberry Pi 4B+

Temukan cara mengembangkan, mengompilasi, dan menjalankan kode C++17 parallel modern pada papan IoT Raspberry Pi 4B+ menggunakan model pemrograman Khronos CL/SYCL, hipSYCL, dan toolchain GCC/Clang.

Tujuan Kami

Panduan ini menawarkan instruksi langkah demi langkah, tips praktis, dan praktik terbaik untuk membuat aplikasi parallel yang efisien dalam C++17/20 dengan CL/SYCL pada papan IoT Raspberry Pi 4B+, yang didorong oleh arsitektur ARM Cortex-A72 quad-core 64-bit.

Tinjauan Papan IoT Raspberry Pi 4B+

Papan Raspberry Pi 4B+ terbaru menampilkan SoC Broadcom BCM2711B0, Quad-Core ARM Cortex-A72 @ 1,5 GHz, dan hingga 8 GiB memori LPDDR4-3200. Spesifikasi ini memberikan performa tinggi dan skalabilitas untuk komputasi parallel sisi edge, memungkinkan pengumpulan data real-time, pra-pemrosesan, dan off-loading yang efisien ke pusat data.

Keuntungan utama meliputi:

Untuk penambangan data dan beban kerja parallel berat, konfigurasi 4 GiB atau 8 GiB sangat direkomendasikan.

Menyiapkan Papan IoT Raspberry Pi 4B

Mulai dengan memflash Raspbian Buster 10.6.0 ke kartu micro-SD 16 GB menggunakan Raspberry Pi Imager 1.4. Setelah diflash, masukkan kartu, sambungkan micro-HDMI, Ethernet, dan pasokan daya USB-C 5 V/3 A, lalu nyalakan papan.

Lakukan langkah awal setelah instalasi:

  1. Tetapkan kata sandi root:
    sudo passwd root
  2. Beralih ke root:
    sudo -s
  3. Perbarui sistem dan firmware:
    sudo apt update && sudo apt upgrade -y sudo rpi-update
  4. Reboot:
    sudo shutdown -r now
  5. Instal bootloader terbaru:
    sudo rpi-eeprom-update -d sudo shutdown -r now
  6. Jalankan raspi-config dan:
    • Perbarui alat.
    • Nonaktifkan desktop GUI (Boot → Console Autologin).
    • Perluas partisi root.

Setelah reboot akhir, login sebagai root. Instal alat jaringan dan OpenSSH untuk mengaktifkan akses jarak jauh:

sudo apt install -y net-tools openssh-server

Konfigurasikan IP statis untuk eth0 di /etc/network/interfaces dan aktifkan login root SSH di /etc/ssh/sshd_config (hapus komentar baris yang relevan). Restart layanan SSH dan sambungkan menggunakan klien SSH seperti MobaXterm.

Mengembangkan Kode Parallel C++17 dengan Model CL/SYCL

Khronos Group memperkenalkan CL/SYCL sebagai abstraksi modern atas OpenCL, memungkinkan paralelisme heterogen di seluruh CPU, GPU, dan FPGA. Di bawah ini adalah kernel SYCL minimal yang berjalan pada CPU host:

#include <CL/sycl.hpp> using namespace cl::sycl; constexpr std::uint32_t N = 1000; int main(){ queue q{}; q.submit([&](handler &cgh){ cgh.parallel_for<class Kernel>( range<1>{N}, [=](id<1> idx){ // Parallel work here }); }); q.wait(); }

Untuk menargetkan arsitektur ARM AArch64 Raspberry Pi, Anda memerlukan implementasi SYCL yang mendukungnya. Proyek triSYCL menawarkan dukungan eksperimental untuk build lintas platform, sementara perpustakaan hipSYCL yang lebih matang memberikan dukungan stabil untuk ARM. Instal toolchain yang sesuai:

Bangun aplikasi SYCL Anda dengan hipSYCL, menautkan ke backend ARM, dan deploy executable langsung ke Raspberry Pi. Menjalankan biner pada Pi akan mengeksekusi kernel pada CPU atau akselerator yang tersedia, memberikan percepatan yang terukur untuk beban kerja intensif data.

Dengan mengikuti alur kerja ini, pengembang dapat memanfaatkan potensi penuh papan IoT Raspberry Pi 4B+ untuk komputasi parallel sisi edge, mendapat manfaat dari ekosistem perpustakaan SYCL dan toolchain open-source yang berkembang.

Proses manufaktur

  1. Pemantauan Suhu & Kelembaban Mulus di Raspberry Pi dengan EzTemp
  2. Tutorial IoT untuk Pemula: Streaming Data Suhu dari Raspberry Pi
  3. Membangun IoT dengan Java ME 8 pada Raspberry Pi: Bagian 1 – Integrasi Sensor GPIO
  4. Bangun Detektor Tangisan Bayi Hemat Biaya Berbasis Raspberry Pi – Panduan DIY
  5. Membangun Proyek IoT Pertama dengan Raspberry Pi, DHT11, dan ThingSpeak
  6. Memulai dengan IoT dan MQTT: Tutorial ESP8266 Tanpa Kode
  7. Menghubungkan Raspberry Pi 3 ke Sensor DHT11 dan Mengunggah Data ke Cloud ThingsIo.ai
  8. Kirim Data IMU Adafruit 10DOF dari Raspberry Pi 2 ke Azure Event Hubs dengan Windows 10 IoT Core
  9. Menginstal Windows 10 IoT Core pada Raspberry Pi 3 Model B+: Panduan Langkah demi Langkah
  10. ValentFX Meluncurkan Add‑On FPGA Open Source untuk BeagleBone & Raspberry Pi