GPGPU を使用して実装できる金融アプリケーションの種類を知りたいです。CUDA を使用した GPGPU でのモンテカルロ シミュレーションを使用したオプション価格設定/株価推定については承知しています。金融分野のあらゆるアプリケーションで GPGPU を利用するさまざまな可能性を挙げてください。
7 に答える
価格設定やリスクなど、さまざまな分野で GPU で実行できる金融アプリケーションが多数あります。NVIDIA のComputational Financeページからのリンクがいくつかあります。
多くの人にとって、モンテカルロが最も明白な出発点であることは事実です。モンテカルロは非常に幅広いクラスのアプリケーションであり、その多くは GPU に適しています。また、多くの格子ベースの問題を GPU 上で実行できます。明示的な有限差分法はうまく機能し、実装が簡単です。多くの例が NVIDIA のサイトや SDK にあり、石油 & ガス コードでも多く使用されています。問題の正確な性質によっては、暗黙的な有限差分法もうまく機能します。Mike Giles は、彼のサイトに 3D ADI ソルバーを持っています。このソルバーには、他の有用な金融関連のツールもあります。
GPU は、線形代数型の問題にも適しています。特に、合理的な作業を行うために GPU にデータを残すことができる場合です。NVIDIA は CUDA Toolkit で cuBLAS を提供しており、cuLAPACKも入手できます。
基本的に、実行するために多くの並列数学を必要とするもの。あなたが最初に述べたように、クローズド フォーム ソリューションでは値付けできないオプションのモンテカルロ シミュレーションは、優れた候補です。大規模なマトリックスとそれらに対する操作を含むものはすべて理想的です。結局のところ、3D グラフィックスでは多くの行列演算が使用されます。
多くのトレーダー デスクトップが「ワークステーション」クラスの GPU を使用して複数のモニターを駆動する場合があることを考えると、おそらくビデオ フィード、限られた 3D グラフィックス (ボラティリティ サーフェスなど) を使用するのではなく、GPU で価格分析の一部を実行することが理にかなっています。責任を計算グリッドにプッシュします。私の経験では、コンピューティング グリッドは、銀行内の誰もがそれらを使用しようとする重荷の下で頻繁に苦戦しています。
通常の CISC CPU と比較して、命令セットとパイプラインの機能範囲が制限されているため、この特定の問題以外に、GPU で簡単に達成できることはそれほど多くありません。
採用に関する問題は、標準化の問題です。NVidia には CUDA があり、ATI には Stream がありました。ほとんどの銀行は、派生分析 (多くの場合、非常に機密性の高い IP と見なされます) を gfx カード ベンダーのアクセラレーション テクノロジにフックすることなく対処できる十分なベンダー ロックインを備えています。オープン スタンダードとして OpenCL が利用可能になったことで、これは変わる可能性があると思います。
GPU を使用すると、アプリのアーキテクチャ、デプロイ、およびメンテナンスに制限が生じます。そのようなソリューションに労力を費やす前に、よく考えてください。たとえば、仮想環境で実行している場合、すべての物理マシンに GPU ハードウェアがインストールされ、特別な vGPU ハードウェアおよびソフトウェア サポート + ライセンスが必要になります。サービスをクラウド (Azure、Amazon など) でホストすることにした場合はどうなりますか? 多くの場合、ハードウェアから可能な限りスケールアップして絞り込むよりも、スケールアウトをサポートし、柔軟でスケーラブルな (もちろん多少のオーバーヘッドはありますが) アーキテクチャを事前に構築する価値があります。
F# は金融でよく使われるので、これらのリンクをチェックしてみてください。
ハイエンド GPU は、ECC メモリ (金融および軍事アプリケーションでは重要な考慮事項) と高精度タイプを提供し始めています。
しかし、現時点ではモンテカルロがすべてです。
それに関するワークショップに行くことができます。その説明から、モンテカルロに焦点を当てていることがわかります。
NVIDIA の Web サイトを確認することから始めるとよいでしょう。
あなたの質問の補足に答える:アカウンティングを含むものはすべてGPGPU(またはバイナリ浮動小数点)では実行できません