aodnawg

GPGPU を理解する試み

20200601

ジェネラル・パーパス・グラフィック・プロセッシング・ユニット

粒子、パーティクルによって生成される絵、画面を構成したいと思ったので取り組みます
大量の粒子の動きを計算するには CPU で逐次的に処理すると処理落ちで死ぬので GPU を使って並列計算を行います

GPU は基本的にグラフィックに関する計算を行うための機械部品ですが、今回は粒子の「動き」を計算します
グラフィックではなく「動き」のような汎用的な目的に沿って行われる GPU と利用は GPGPU と呼ばれます
したがって私は今日、 GUGPU として GPU を動かします

ジェネラル・パーパス・グラフィック・プロセッシング・ユニット
テクスチャの利用手段はテクセルと色のマッピング、視覚情報を管理することだけではなく
並列処理して管理したい数値を一時的に保持するためのバッファとしても利用できる

調査

主に Three.js および WebGL で実装された GPGPU 記事を漁る 「three gpgpu」「webgl gpgpu」などのキーワードで調べる

three.js の example にもいくつか GPGPU による作品が挙げられているので、このコードが最も参考に

最も単純かつ理解しやすい事例とその解説

実装

GPU を感じています。GPU を感じてください

動画は windows の OS 機能で画面収録したものだが、システムで出力している音声も取り込まれることに投稿してから気づいた

GPGPU は GPGPU と表記してもカッコイイし
General Purpose Graphic Processing Unit と表記してもカッコイイし
ジェネラル・パーパス・グラフィック・プロセッシング・ユニットと表記してもイカしており
とってもサイバーパンク溢れる語です