​GPUNI LabVIEWによるテストシステムハードウェアアクセラション

概要

​最新のテストシステムは高スループット処理を要し、GPUは信号処理、画像解析、AI推論などに最適な大規模並列処理機能を提供します。LabVIEWをNgene、Graiphic、G²CPUなどの他社製ツールキットと組み合わせることで、急な学習曲線なしでシームレスなGPUアクセラレーションを実現できます。

 

​エンジニアは、RADX PXI Expresss (PXIe) モジュール、MXI Express (MXIe) 拡張、またはネットワーク接続されたGPUサーバを使用してGPUをテストシステムに統合できるため、テスト速度とシステムの拡張性が大幅に向上します。直感的なツールと柔軟な展開オプションにより、NIプラットフォーム内でGPUアクセラレーションが利用可能となり、迅速でスケーラブル、将来対応可能なテストワークフローを実現します。

内容

なぜハードウェアアクセラション現代テストシステム不可欠か?

本ホワイトペーパーでは、計算負荷が高まるテストアプリケーションの要求に対応するためのハードウェアアクセラレータとしてのGPUの戦略的な利用について紹介します。産業界がテスト効率向上のため高スループット処理に依存するにつれ、スケーラブルで高性能なコンピューティングが不可欠となります。GPUは膨大な並列処理能力と数千のコアを持ち、従来のCPUに比べて画像と信号処理、ディープラーニング推論、行列計算などに最適な優位性を持ちます。

GPUをNI LabVIEWと統合し、対応ハードウェアとツールキットを使用することで、GPUアクセラレーションを効果的に採用し既存のテストシステムにシームレスに組み込めます。このアプローチは、エンジニアやシステムアーキテクトがワークフロー内でハードウェアアクセラレーションを最大限に活用する直感的なフレームワークを提供します。適切なハードウェアプラットフォームを選択することにより、処理速度向上、レイテンシ削減、エネルギー効率改善、将来のアプリケーションへのスケーラブルな性能を享受できます。

 

テストおよび測定アプリケーションにおけるGPU、FPGA、CPU比較

GPUは圧倒的な並列処理能力により、ニューラルネットワーク、画像処理、シミュレーションのタスクに優れています。しかしながら、GPUによる並列処理の恩恵は大規模な処理で顕著となり、GPUへのタスクオフロードでは高コストなデータ転送、データ同期遅延、カーネル起動の遅延が発生します。GPUはデータ量が少なく計算処理のばらつきが大きい小規模データセットには適しません。

FPGAは組込システムやリアルタイム信号処理などの決定論的システムに最適なカスタマイズ可能なアーキテクチャを提供します。FPGAでは、電力制約のあるAIモデルに重要な最適化された処理環境と低電力ソリューションが提供されています。しかし、FPGAを最適な性能にプログラミングするには大幅な工数が必要です。

汎用プロセッサは通常、演算コア数が少なく、各コアが独自の制御ユニットを持ち、柔軟性と制御性を兼ね備えています。CPUは、シングルコアのコンテキストスイッチを可能にする制御ユニットに重点を置いており、これはGPUよりも強い特徴です。

NIのモジュラープラットフォームは、CPUで柔軟かつ複雑な制御ロジックを実現し、FPGAで決定論的かつ精密な制御を行います。さらにGPUを加えることで、スループット志向のアクセラレーションの第三の柱となります。 

 

他社ツールキットによるLabVIEWGPUアクセラション

LabVIEWは多様なアプリケーション向けの強力なネイティブ機能と豊富な組み込み機能を持ち、GPUアクセラレーションの統合を容易にする他社製ツールキットにより一層強化されます。これらのツールキットは直感的でネイティブLabVIEWに似ており、開発者の学習負担を軽減します。GPU使用に特化した機能を追加し、全コンポーネントを一から開発することなくGPUの性能を活用可能にします。このセクションでは、NIエコシステム内でGPUアクセラレーションを支援する主要な三つの他社製ツールキットについて、その機能と高性能基準に適合する効果的なアーキテクチャを中心に解説します。

Ngene CuLabツールキット

現代の工学および科学アプリケーションは、特にRF信号処理、リアルタイム監視および解析、科学計算とモデリング、産業用マシンビジョン分野で膨大な計算能力を必要とします。GPUはその並列性により理想的ですが、LabVIEWはネイティブなGPUアクセラレーションサポートを欠き、CUDAやC++に不慣れなエンジニアに課題を与えています。

Ngene CuLabツールキットはLabVIEWに直接統合された高性能GPUアクセラレーションソリューションとしてこのギャップを埋めます。LabVIEWに似たAPIを備え、エンジニアが複雑なコーディングなしに計算を高速化できるようにします。CuLabは統合を簡潔にし、包括的なGPU加速機能を提供し、PythonのCuPyなどのフレームワークより平均6倍高速の優れた性能を示します。

CuLabが提供する主な利点を示します。LabVIEW様のAPIとシームレスに統合し、CPUのベースLabVIEWに比べてデータ処理タスクで100倍以上の性能向上1を実現します。このプラットフォームは150以上のGPU加速機能を備え、多次元配列と全数値データ型を効率的に処理します。

CuLab GPUとCPUコードのブロックダイアグラム

図1.このプログラムはネイティブLabVIEWとCuLab実装の類似性を示しています。

CuLabの機能は幅広く、ネイティブLabVIEWに類似しています。その包括的な関数のリストには、ベクトルおよび行列演算、線形代数、信号処理、コンピュータビジョン、数学関数、論理演算が含まれます。

Graiphic SOTAツールキット

GraiphicのLabVIEW向けSOTAエコシステムは、PyTorchやTensorFlowなどのディープラーニングフレームワークの代替として強化されたGPUアクセラレーション機能を提供します。LabVIEWを汎用グラフエディタ兼オーケストレータに変え、多様なハードウェアでのトレーニングと演算をONNXのサポート拡張によって可能にします。高度と低度両方の抽象化を提供し、簡単なデプロイメントを必要とするエンジニアと詳細な制御を求める研究者のニーズに応え、幅広いディープラーニングのニーズに対応します。

Graiphicアクセラレータパレット

図2.アクセラレータパレットはLabVIEW標準操作の完全カバーを目指す動的オーケストレーションを効果的に管理し、多様な実行プロバイダを柔軟にサポートします。複数バックエンドにわたるノードカバレッジのパブリックリファレンスマッピングを提供しています。

 

SOTAはアクセラレータツールキットによって計算グラフをオーケストレーションするためのLabVIEWの関数パレットをONNX経由で拡張し、既存フレームワークと匹敵する包括的機能セットを提供します。 

SOTAエコシステムの主なコンポーネントは、学習と推論のディープラーニングツールキット、画像処理のコンピュータビジョンツールキット、トランスフォーマモデル向けのGenAIツールキット、そして前述のアクセラレータツールキットです。これらのツールキットはコンピュータビジョン、ディープラーニング、GenAI、強化学習に優れ、シームレスなONNX統合によりハードウェア間で性能を最適化します。ビジュアルデータフロープログラミングでAI開発を民主化し、プログラム経験不要でも複雑なワークフローを作成可能にします。

SOTAは異種ハードウェア間でのデータラベリング、AIモデル学習、チューニング、デプロイメントを最適化します。

Natan Biesmans LabVIEW G²CPU High-Performance Computeツールキット

G²CPUはLabVIEW用の高性能コンピューティングツールキットで、CPU、NVIDIA CUDA GPU、OpenCLデバイス、NIエコシステム全体でプラットフォームに依存しないコード実行を可能にします。オープンソースのArrayFireライブラリをベースに構築され、バックエンド切り替えを容易にして継続的な安定性を確保します。

主なメリット

  • 統合バックエンド抽象化―コードを一度作成すれば、変更を加えることなくCPU、CUDA、およびOpenCL全体にデプロイできるため、柔軟性が向上します。このツールキットは、WindowsおよびLinuxデバイス、LabVIEW Real-Timeモジュール、PXI、工業用コンピュータなどのデバイスを含むNIエコシステム全体で利用できます。
  • シームレスな統合―機能はネイティブLabVIEW操作を反映し、学習負担を最小限にして統合を促進します。LabVIEW環境内で異なるコンピューティングバックエンドのデータを直接検査できるプローブでは、デバッグがサポートされます。
  • 高いコード柔軟性—ネイティブのLabVIEW IDEを使用しながら、GPU上で非常に複雑なアルゴリズムも実装できます。
  • 高性能—NI PXIで7GB/s、最新システムで22GB/sを超えるGPU入出力速度により、負荷の大きいタスクで最大200倍の速度向上2を達成します。時間厳守のアプリケーション向けにNI LabVIEW Real-Timeモジュールで1 ms未満のループをサポートします。 

 

G²CPUで書かれた線形フィットアルゴリズム

図3. このプログラムは、完全にG²CPUで書かれた線形フィットアルゴリズムを紹介します。ネイティブLabVIEWとの類似性に注目してください。

ソフトウェアツールキットは、数学、信号処理、マシンビジョン、UIアクセラレーションなど、あらゆるタイプのGPUおよびオペレーティングシステムで使用できるさまざまなタスク用の高性能関数の包括的なスイートを提供します。高速データ転送機能を持ち、NI PXIベクトル信号トランシーバ (VST)、NI FPGA対応ハードウェア、NIフレームグラバーなどとシームレスに接続します。デバイスとGPU間の効率的なゼロコピーデータ転送により可能になったG²CPUは、カスタムGPUカーネルおよび他社製ツールキットで拡張できる柔軟性とパフォーマンスに優れたツールキットで、NVENC、LibTorch、OpenCVなどのツールキットとシームレスに統合できます。G²CPUは、任意のドメインで卓越したパフォーマンスと自由な開発環境を求める開発者に最適なソリューションです。

GPUNIハードウェア接続する方法

このセクションでは、GPUサーバへの接続方法およびPXI ExpressとMXI Expressの構成について説明します。

GPUサーバネットワーク接続

GPUサーバへの接続は、ネットワーク性能を最適化する高度な機能を提供するネットワークインタフェースカード (NIC) およびスマートNICを介して効率的に行うことができます。スマートNICは、CPUとGPUのコンポーネントを統合し、要求の厳しい計算および並列処理タスクをサポートします。ネットワーク処理をインテリジェントにオフロードしてオーバーヘッドを削減し、GPUサーバへのデータフロー効率を高めます。スマートNICは、ネットワークを介したデータ処理を改善し、最大25 GB/sの帯域幅で分散コンピューティングアプリケーションをサポートし、ネットワークGPUリソースをより効果的に使用できます。NI CompactRIOおよびNI CompactDAQシステムを含むその他のNIハードウェアは、イーサネットまたはUSBネットワーク接続を使用してGPUサーバリソースと通信し、使用することができます。 

外部GPUサーバに接続されたPXIシャーシ

図4.PXIシャーシは、外部GPUサーバに接続され、NICまたはスマートNICを介して高速コンピューティングを実現します。

PXI ExpressからMXI Expressへ

PXIe-MXIe構成は、特に高性能コンピューティングにおいて、外部GPU機能を必要とするセットアップに適しています。PXIeシャーシをMXIeインタフェースで接続することで、強力な外部GPUにアクセス可能となり、ローカルハードウェアの性能を超えた演算能力を提供します。この構成は、限られたスペースや、システム間で複数GPUを利用する大規模データ処理、AI開発、シミュレーションなどに最適です。Gen 3 x16 MXIeインタフェースは16GB/sの転送速度をサポートし、ボトルネックを低減して高負荷アプリケーションが外部GPUやGPUサーバ資源を効率的に活用可能にします。

MXIe拡張を介してGPUサーバに接続されたPXIeシャーシ

図5.PXIeシャーシはMXIe拡張によってGPUサーバに接続されており、高帯域幅データ転送で高速処理と高度な計算を可能にします。

RADXおよびNIハードウェアプラットフォーム

RADX Technologies Inc.は、NIエコシステム向けに設計された市販 (COTS) PXI Express GPUモジュールを提供し、NIの製品群とは別製品です。NVIDIAのTuring、Ampere、Ada GPUをベースにしたこれらのモジュールは、NI PXIe-1092やNI PXIe-1095といったPXI Expressシャーシにシームレスに組み込まれ、テストおよび測定環境での計算能力を強化します。RADX PXIe GPUは、LabVIEWやPythonなどのツールを使用したデータ収集や機械学習などの多数のアプリケーションをサポートします。個別のGPUサーバは必要ありません。

RADX Technologiesのシャーシ内GPUは1.7~30.3 FP32 TFLOPSの性能と4 GB~24 GBのメモリを提供します。ただし、これらの設定では、Linuxを使用する場合を除き、GPU間のピアツーピア通信の欠如によってデータのボトルネックが発生する可能性があります。これらの制限を緩和し、GPUの機能を最大限に活用してボトルネックを軽減するには、ゼロコピーなどのテクニックが必要です。RADX GPUは、NIシステム用に認定されており、多くの場合、G²CPUと組み合わされてGPU加速LabVIEW信号処理を行います。

RADX PXIe対応GPUモジュール

図6.RADX PXIe対応GPUモジュールおよび製品ラインナップ

まとめ重要ポイント

結論として、GPUは卓越した性能とプログラム性により、テストエンジニアに高速テストの手段として広く採用されています。並列処理と拡張性に優れた演算能力により、信号処理、画像処理、シミュレーション、モデルベース制御などの大量のデータを処理するアプリケーションに最適です。しかし、GPUには高いデータ要求があり、適切なワークフローに限ってニッチ的な追加となっています。

PXI Express対応のパートナーGPUとLabVIEWツールキットを用いたGPUアクセラレーションのNIエコシステム統合は、既存ワークフローを補完する柔軟で高性能な手法を提供し、テストエンジニアによるGPU利用を促進します。慣れ親しんだ環境での統合により参入障壁が下がり、プロトタイプ開発の迅速化、データスループット向上、システムの拡張性向上が可能になります。

GPUを効果的に使用する方法を把握することで、テストおよび測定組織は将来を見据えたシステム設計において競争優位性を得ることができます。GPU性能向上の把握、適正なツールの利用、計算負荷の高いタスクの特定が鍵です。

1 CuLab (LabVIEW用GPUツールキット) がRF RTSAアプリケーションを加速させる様子を示す録画デモをご覧ください。

2 詳細はg2cpu.comをご覧ください。 

 

アプリケーションドメインGPUの優位性
RFの記録と再生およびスペクトラム解析リアルタイムでのギガヘルツ規模のFFT、多相チャンネライザー、スペクトログラムレンダリング
高速ビジョンおよび画像検査畳み込みニューラルネットワーク (CNN) と従来のOpenCVフィルタが毎秒数百フレームを実行
大規模波形解析フィルタ、相関、ディープラーニング異常検知による数百万の波形をバッチ処理

 

表1. 主要アプリケーション分野のタスクにGPUの力を活用する

特性CPUFPGAGPU
以下の対象に最適分岐の多いシーケンシャル論理; OSサービス、小規模AI/MLワークロード (数百GFLOP)ナノ秒単位のレイテンシ; カスタムI/Oプロトコルテラフロップスからペタフロップス規模の並列計算; AI/MLワークロード
決定論的実行10 µs〜msのジッタ (プリエンプティブOS)サイクル単位で正確な実行; ハードウェアレベルで決定論的なタイミング中程度のジッタ; 起動したカーネル内での決定論的実行
開発フローC/C++、LabVIEW RT、PythonLabVIEW FPGA、VHDL/Verilog、HLSCUDA/HIP、LabVIEW GPUツールキット、Python (Numba/CuPy)
リターゲットコストなし高 (シンセシス、タイミングクロージャー)低 (カーネルの数秒での再コンパイル)
テストおよび測定での一般的な利用例シーケンス制御、ホストUI、データロギング正確なタイミング設定、カスタムトリガ、インラインフィルタリングFFT、スペクトログラム、ディープラーニング推論、大規模行列演算

 

表2. 適切なエンジンの選択:CPU、GPU、FPGA