工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Raspberry Pi 4B+ IoTボードで並列C++17 SYCLコードを構築:Khronos CL/SYCL、hipSYCL、GCC/Clangツールチェーン活用

Khronos CL/SYCLプログラミングモデル、hipSYCL、GCC/Clangツールチェーンを用いて、Raspberry Pi 4B+ IoTボード上でモダンな並列C++17コードの開発、コンパイル、実行を行う方法を発見してください。

目標

このガイドでは、ARM Cortex-A72クアッドコア64ビットアーキテクチャで駆動されるRaspberry Pi 4B+ IoTボード上で、C++17/20とCL/SYCLを用いた効率的な並列アプリケーションの作成に向けたステップバイステップの手順、実用的なヒント、ベストプラクティスを提供します。

Raspberry Pi 4B+ IoTボードの概要

最新のRaspberry Pi 4B+ボードは、Broadcom BCM2711B0 SoC、クアッドコアARM Cortex-A72 @ 1.5GHz、最大8GiB LPDDR4-3200メモリを搭載。これらの仕様は、エッジ側の並列コンピューティングに高性能と拡張性を提供し、リアルタイムデータ収集、前処理、データセンターへの効率的なオフロードを可能にします。

主な利点:

データマイニングや重い並列ワークロードには、4GiBまたは8GiB構成を強く推奨します。

Raspberry Pi 4B IoTボードのセットアップ

Raspberry Pi Imager 1.4を使用して、Raspbian Buster 10.6.0を16GB microSDカードにフラッシュ。書き込み後、カードを挿入し、micro-HDMI、Ethernet、5V/3A USB-C電源を接続してボードを起動。

初期インストール後の手順:

  1. rootパスワード設定:
    sudo passwd root
  2. rootに切り替え:
    sudo -s
  3. システムとファームウェア更新:
    sudo apt update && sudo apt upgrade -y
    sudo rpi-update
  4. 再起動:
    sudo shutdown -r now
  5. 最新ブートローダーインストール:
    sudo rpi-eeprom-update -d
    sudo shutdown -r now
  6. raspi-configを実行し:
    • ツールを更新。
    • デスクトップGUIを無効化(Boot → Console Autologin)。
    • ルートパーティションを拡張。

最終再起動後、rootでログイン。ネットワークツールとOpenSSHをインストールしてリモートアクセスを有効化:

sudo apt install -y net-tools openssh-server

/etc/network/interfacesでeth0の静的IPを設定し、/etc/ssh/sshd_configでroot SSHログインを有効化(該当行のコメントアウト解除)。SSHサービスを再起動し、MobaXtermなどのSSHクライアントで接続。

CL/SYCLを用いた並列C++17コードの開発

Khronosグループが導入したCL/SYCLは、OpenCLの上にモダンな抽象化層を提供し、CPU、GPU、FPGA全体でヘテロジニアスな並列処理を可能にします。以下はホストCPUで実行される最小限のSYCLカーネルです:

#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){
            // 並列処理をここに記述
        });
    });
    q.wait();
}

Raspberry PiのARM AArch64アーキテクチャをターゲットにするには、ARMをサポートするSYCL実装が必要です。triSYCLプロジェクトはクロスプラットフォームビルドの実験的サポートを提供し、より成熟したhipSYCLライブラリはARMの安定したサポートを提供します。適切なツールチェーンをインストール:

hipSYCLでSYCLアプリケーションをビルドし、ARMバックエンドにリンク、実行ファイルを直接Raspberry Piにデプロイ。Pi上でバイナリを実行すると、カーネルがCPUまたは利用可能なアクセラレーターで実行され、データ集約型ワークロードで測定可能なスピードアップが得られます。

このワークフローに従うことで、開発者はRaspberry Pi 4B+ IoTボードをエッジ側並列コンピューティングに最大限活用でき、成長するSYCLライブラリエコシステムとオープンソースツールチェーンの恩恵を受けられます。

製造プロセス

  1. EzTempでRaspberry Pi上の温度・湿度をシームレスに監視
  2. 初心者向けIoTチュートリアル:Raspberry Piから温度データをストリーミング
  3. Java ME 8でRaspberry Pi上のIoTを構築: パート1 - GPIOセンサー統合
  4. 予算に優しいRaspberry Pi赤ちゃん泣き声検知器の自作 - DIYガイド
  5. Raspberry Pi、DHT11、ThingSpeakで作る初めてのIoTプロジェクト
  6. IoTとMQTT入門:コード不要のESP8266チュートリアル
  7. Raspberry Pi 3とDHT11センサーを接続し、ThingsIo.aiクラウドへデータ送信
  8. Raspberry Pi 2からAzure Event HubsへAdafruit 10DOF IMUデータを送信(Windows 10 IoT Core)
  9. Raspberry Pi 3 Model B+へのWindows 10 IoT Coreインストール:ステップバイステップガイド
  10. ValentFX が BeagleBone と Raspberry Pi 向けオープンソース FPGA アドオンを発表
  11. OpenADRで分散型エネルギーリソース(DER)制御を容易に