Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Paralleles C++17 SYCL auf Raspberry Pi 4B+ IoT Boards entwickeln

Entdecken Sie, wie Sie modernes paralleles C++17 auf Raspberry Pi 4B+ IoT Boards mit Khronos CL/SYCL Programmiermodell, hipSYCL und GCC/Clang Toolchains entwickeln, kompilieren und ausführen.

Unsere Ziele

Dieser Guide bietet Schritt-für-Schritt-Anleitungen, praktische Tips und Best Practices für effiziente parallele Applikationen in C++17/20 mit CL/SYCL auf Raspberry Pi 4B+ IoT Boards, angetrieben von ARM Cortex-A72 Quad-Core 64-Bit Architektur.

Raspberry Pi 4B+ IoT Boards Überblick

Neueste Raspberry Pi 4B+ Boards feature Broadcom BCM2711B0 SoC, Quad-Core ARM Cortex-A72 @ 1,5 GHz, bis zu 8 GiB LPDDR4-3200 Memory. Diese Specs liefern hohe Performance und Skalierbarkeit für Edge-seitiges paralleles Computing, ermöglichen Echtzeit-Datensammlung, Preprocessing und effizientes Offloading zu Rechenzentren.

Wesentliche Vorteile:

Für Data Mining und schwere parallele Workloads werden 4 GiB oder 8 GiB Konfigurationen stark empfohlen.

Raspberry Pi 4B IoT Board einrichten

Starten Sie mit Flashen von Raspbian Buster 10.6.0 auf 16 GB micro-SD Karte via Raspberry Pi Imager 1.4. Karte einlegen, Micro-HDMI, Ethernet und 5 V/3 A USB-C Netzteil anschließen, Board einschalten.

Initiale Post-Installations-Schritte:

  1. Root-Passwort setzen:
    sudo passwd root
  2. Zu root wechseln:
    sudo -s
  3. System und Firmware aktualisieren:
    sudo apt update && sudo apt upgrade -y
    sudo rpi-update
  4. Reboot:
    sudo shutdown -r now
  5. Neuesten Bootloader installieren:
    sudo rpi-eeprom-update -d
    sudo shutdown -r now
  6. raspi-config ausführen und:
    • Tool aktualisieren.
    • Desktop GUI deaktivieren (Boot → Console Autologin).
    • Root-Partition erweitern.

Nach finalem Reboot als root einloggen. Networking Tools und OpenSSH für Remote-Zugriff installieren:

sudo apt install -y net-tools openssh-server

Statische IP für eth0 in /etc/network/interfaces konfigurieren und Root-SSH-Login in /etc/ssh/sshd_config aktivieren (relevante Zeilen einkommentieren). SSH-Service neustarten und via SSH-Client (z. B. MobaXterm) verbinden.

Parallelen C++17 Code mit CL/SYCL entwickeln

Khronos Group führte CL/SYCL als moderne Abstraktion über OpenCL ein, ermöglicht heterogene Parallelität über CPUs, GPUs und FPGAs. Unten minimales SYCL Kernel für Host-CPU:

#include 
using namespace cl::sycl;
constexpr std::uint32_t N = 1000;
int main(){
    queue q{};
    q.submit([&](handler &cgh){
        cgh.parallel_for(range<1>{N}, [=](id<1> idx){
            // Parallele Arbeit hier
        });
    });
    q.wait();
}

Für Raspberry Pi's ARM AArch64 Architektur benötigen Sie SYCL-Implementation mit ARM-Support. triSYCL Projekt bietet experimentellen Support für Cross-Platform Builds, während reifere hipSYCL Library stabilen ARM-Support liefert. Passende Toolchains installieren:

SYCL-Applikation mit hipSYCL bauen, gegen ARM Backend linken, Executable direkt auf Raspberry Pi deployen. Binary auf Pi ausführen führt Kernel auf CPU oder verfügbarem Accelerator aus, liefert messbare Speedups für datenintensive Workloads.

Durch Befolgen dieses Workflows können Entwickler volles Potenzial von Raspberry Pi 4B+ IoT Boards für Edge-seitiges paralleles Computing nutzen, profitieren von wachsendem Ökosystem an SYCL Libraries und Open-Source Toolchains.

Herstellungsprozess

  1. Nahtlose Temperatur- & Feuchtigkeitsüberwachung am Raspberry Pi mit EzTemp
  2. Einsteiger IoT Tutorial: Temperaturdaten vom Raspberry Pi streamen
  3. IoT mit Java ME 8 auf Raspberry Pi: Teil 1 – GPIO Sensor-Integration
  4. Günstiger Raspberry Pi Babyphone mit Schreierkennung – DIY-Anleitung
  5. Erstes IoT-Projekt mit Raspberry Pi, DHT11 und ThingSpeak bauen
  6. Einstieg in IoT und MQTT: Code-freies ESP8266 Tutorial
  7. Raspberry Pi 3 mit DHT11 verbinden und Daten an ThingsIo.ai Cloud hochladen
  8. Adafruit 10DOF IMU Daten von Raspberry Pi 2 an Azure Event Hubs senden (Windows 10 IoT Core)
  9. Windows 10 IoT Core auf Raspberry Pi 3 Model B+ installieren – Schritt-für-Schritt
  10. ValentFX stellt Open-Source FPGA-Add-Ons für BeagleBone & Raspberry Pi vor