次の例は、Open Computing Language (OpenCL™) のアジアオプション価格設定アルゴリズム実装を示しています。アジアオプションは、価格が経路依存性のファイナンシャル・インストラクションです。こうしたオプションのペイオフは、開始時から満期時までの複数ある標本点の平均価格に依存しています。この例では、特に数式によるアジアオプションの価格設定を考慮しています。
この例では、複数のカーネルとインテルのチャネル・ベンダー・エクステンションの使用を通じて、モンテカルロ・シミュレーションを効率的に実装し、アジアオプションの価格設定をする方法を示しています。計算のコアは、ブラックショールズ・モデルを実装するカーネルにあります。その他 2 つのカーネルは、メルセンヌ・ツイスター乱数ジェネレーターを実装します。これは、チャネルをコミュニケーション・メカニズムとして使用し、ブラックショールズ・カーネルに乱数を供給するのに使われます。最後に、ブラックショールズ・カーネルからの出力が、別のカーネルで集計され、ペイオフ全額の値を生成します。詳細説明は、デザイン例パッケージのソースコードで確認できます。
また、この例は、複数台の OpenCL™ デバイスでの同時エグゼキューションもサポートしています。各デバイスは、多数のオプション価格計算のスケーラブルな並列オフロードを示す、異なるパラメーター・セットごとのアジアオプション価格設定専用です。
複数台 OpenCL™ デバイスを用いたパフォーマンス・スケーリング
OpenCL™ ボード |
デバイス 1 台 |
デバイス 2 台 |
---|---|---|
毎秒 12 億回のシミュレーション |
毎秒 24 億回のシミュレーション |
機能
- チャネルベンダーの拡張
- 倍精度浮動小数点数
- 複数デバイス・エグゼキューション
- 複数カーネル、単一作業項目カーネルを含む
ダウンロード
このデザイン例は、OpenCL™ デバイス (.cl) およびホスト・アプリケーション用のソースコードを提供します。ホスト・アプリケーションをコンパイルするため、Linux* パッケージには Makefile が含まれており、Windows* パッケージには Microsoft* Visual Studio* 2010 プロジェクトが含まれています。
以下のダウンロードは、この例のために提供されています。
- バージョン 17.1 x64 Linux* パッケージ (.tar.gz)
- バージョン 17.1 x64 Windows* パッケージ (.zip)
- OpenCL™ を使用した FPGA 上のアジアオプションのモンテカルロ価格設定 (PDF)
このデザインの使用には、ハードウェア・リファレンス・デザイン・ライセンス契約の使用条件が適用されます。
ソフトウェア要件とハードウェア要件
このデザイン例には、以下のツールが必要です。
- インテル® FPGA ソフトウェア・バージョン 17.1 以降
- インテル® FPGA for OpenCL™ バージョン 16.1 以降
- Linux* の場合: GNU make および gcc
- Windows* の場合: Microsoft* Visual Studio* 2010
インテル® のデザインツールをダウンロードするには、OpenCL™ ダウンロードページをご覧ください。基盤となるオペレーティング・システムの要件は、インテル® FPGA SDK for OpenCL™ の要件と同じです。
OpenCL および OpenCL ロゴは Apple Inc. の商標であり、Khronos の許可を得て使用しています。
* 製品は Khronos 公開の仕様に基づいており、Khronos コンフォーマンス・テスト・プロセスに合格しています。現在のコンフォーマンス条件は、www.khronos.org/conformance で確認できます。