Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Construction de Code Parallèle C++17 SYCL sur Cartes IoT Raspberry Pi 4B+

Découvrez comment développer, compiler et exécuter du code parallèle moderne C++17 sur des cartes IoT Raspberry Pi 4B+ en utilisant le modèle de programmation Khronos CL/SYCL, hipSYCL, et les chaînes d'outils GCC/Clang.

Nos Objectifs

Ce guide offre des instructions étape par étape, des conseils pratiques et des bonnes pratiques pour créer des applications parallèles efficaces en C++17/20 avec CL/SYCL sur des cartes IoT Raspberry Pi 4B+, alimentées par l'architecture ARM Cortex-A72 quad-core 64 bits.

Vue d'ensemble des Cartes IoT Raspberry Pi 4B+

Les dernières cartes Raspberry Pi 4B+ comportent le SoC Broadcom BCM2711B0, un Quad-Core ARM Cortex-A72 @ 1,5 GHz, et jusqu'à 8 GiB de mémoire LPDDR4-3200. Ces spécifications offrent une haute performance et une évolutivité pour le calcul parallèle côté edge, permettant la collecte de données en temps réel, le prétraitement et le déchargement efficace vers les centres de données.

Avantages clés incluent :

Pour l'exploration de données et les charges de travail parallèles lourdes, les configurations 4 GiB ou 8 GiB sont fortement recommandées.

Configuration d'une Carte IoT Raspberry Pi 4B

Commencez par flasher Raspbian Buster 10.6.0 sur une carte micro-SD de 16 Go en utilisant Raspberry Pi Imager 1.4. Une fois flashée, insérez la carte, connectez micro-HDMI, Ethernet, et une alimentation USB-C 5 V/3 A, puis allumez la carte.

Effectuez les étapes initiales post-installation :

  1. Définir un mot de passe root :
    sudo passwd root
  2. Passer en root :
    sudo -s
  3. Mettre à jour le système et le firmware :
    sudo apt update && sudo apt upgrade -y
    sudo rpi-update
  4. Redémarrer :
    sudo shutdown -r now
  5. Installer le dernier bootloader :
    sudo rpi-eeprom-update -d
    sudo shutdown -r now
  6. Exécutez raspi-config et :
    • Mettez à jour l'outil.
    • Désactivez le bureau GUI (Boot → Console Autologin).
    • Étendez la partition racine.

Après le redémarrage final, connectez-vous en root. Installez les outils réseau et OpenSSH pour activer l'accès à distance :

sudo apt install -y net-tools openssh-server

Configurez une IP statique pour eth0 dans /etc/network/interfaces et activez la connexion SSH root dans /etc/ssh/sshd_config (décommentez les lignes pertinentes). Redémarrez le service SSH et connectez-vous en utilisant un client SSH tel que MobaXterm.

Développement de Code Parallèle en C++17 avec le Modèle CL/SYCL

Le Groupe Khronos a introduit CL/SYCL comme une abstraction moderne sur OpenCL, permettant le parallélisme hétérogène sur CPU, GPU et FPGA. Voici un noyau SYCL minimal qui s'exécute sur le CPU hôte :

#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){
            // Travail parallèle ici
        });
    });
    q.wait();
}

Pour cibler l'architecture ARM AArch64 du Raspberry Pi, vous avez besoin d'une implémentation SYCL qui la prend en charge. Le projet triSYCL offre un support expérimental pour les builds multiplateformes, tandis que la bibliothèque hipSYCL plus mature fournit un support stable pour ARM. Installez les chaînes d'outils appropriées :

Processus de fabrication

  1. Surveillance transparente température et humidité sur Raspberry Pi avec EzTemp
  2. Tutoriel IoT débutant : Diffusion de données de température depuis un Raspberry Pi
  3. Construire l'IoT avec Java ME 8 sur Raspberry Pi : Partie 1 – Intégration capteurs GPIO
  4. Construire un détecteur de pleurs de bébé économique avec Raspberry Pi – Guide DIY
  5. Réaliser votre premier projet IoT avec Raspberry Pi, DHT11 et ThingSpeak
  6. Démarrer avec l'IoT et MQTT : Tutoriel ESP8266 sans code
  7. Connecter un Raspberry Pi 3 au capteur DHT11 et envoyer les données vers le cloud ThingsIo.ai
  8. Envoyer les données IMU 10DOF Adafruit du Raspberry Pi 2 vers Azure Event Hubs avec Windows 10 IoT Core
  9. Installation de Windows 10 IoT Core sur Raspberry Pi 3 Model B+ : Guide Étape par Étape