GPGPU

GPGPU(General-Purpose computing on Graphics Processing Units)は、グラフィックス処理ユニット(GPU)を一般計算に応用する技術です。元々はコンピュータグラフィックス専用に設計されたGPUですが、この技術により、従来CPUが行っていた計算を効率的に処理できます。特に、大量のコアを活用した並列計算が特長で、グラフィカルなデータ処理に優れています。

この技術は人工知能、機械学習、ディープラーニングの発展にも貢献しており、科学的研究や高性能コンピューティング(HPC)サーバーでの利用が注目されています。特に、HPCサーバーではスーパーコンピューティングレベルの計算能力を実現するために重要です。地球科学や宇宙研究などでも、計算プロセスの加速に役立っています。

GPGPUの計算は、OpenCLのようなオープンなプログラミング言語やAPIを通じて実現されます。NVIDIAのCUDA(Compute Unified Device Architecture)、AMDのAPP(Accelerated Parallel Processing)なども知られています。さまざまな企業や研究機関によって開発が進められ、NVIDIAのCUDA、AMDのROCm、University of TorontoとNvidiaのOpenVIDIA、AltimeshのHybridizer、MicrosoftのDirectCompute、QuantAleaのAlea GPUなどがあります。

また、物理エンジンにおいても活用され、Havok PhysicsやPhysXなどの商用実装がコンピューターゲームで利用されています。MATLABではParallel Computing ToolboxやMATLAB Distributed Computing Serverを通じてサポートしています。