- BufferCreate
- BufferFree
- BufferFromArray
- BufferRead
- BufferWrite
- Execute
- GetContext
- GetKernel
- GetKernelName
- GetProgram
- Initialize
- KernelCreate
- KernelFree
- SetArgument
- SetArgumentBuffer
- SetArgumentLocalMemory
- SetBuffersCount
- SetKernelsCount
- Shutdown
- SupportDouble
OpenCLプログラムを使うためのクラス
COpenCLクラスはOpenCL関数の使用を簡易化するためのラッパーです。場合によっては、計算速度はGPUの使用によって大幅に向上されます。
float値とdouble値に基づく計算のクラス使用例は、MQL5\Scripts\Examples\OpenCL\フォルダーの対応するサブディレクトリーにあります。OpenCLプログラムのソースコードは、MQL5\Scripts\Examples\OpenCL\Double\KernelsおよびMQL5\Scripts\Examples\OpenCL\Float\Kernelsサブディレクトリにあります。
- MatrixMult.mq5 - グローバルとローカルメモリを使用した行列乗算の例
- BitonicSort.mq5 - GPUにおける配列要素の並列ソートの例
- FFT.mq5 - 高速フーリエ変換計算の例
- Wavelet.mq5 - モーレットウェーブレットを用いたデータのウェーブレット変換の例
OpenCL用のソースコードは別のCLファイルに書き込むことをお勧めします。これらのファイルは後にリソース変数を使用してMQL5プログラムに組み込むことができます。
宣言
class COpenCL |
タイトル
#include <OpenCL\OpenCL.mqh> |
クラスメソッド
名称 |
説明 |
---|---|
指定されたインデックスでOpenCLバッファを作成します |
|
指定されたインデックスでOpenCLバッファを削除します |
|
指定されたインデックスで値の配列からバッファを作成します |
|
指定されたインデックスでOpenCLバッファを配列に読み込みます |
|
指定されたインデックスで値の配列をバッファに書き出します |
|
指定されたインデックスを持つOpenCLカーネルを実行します |
|
OpenCLコンテキストのハンドルを返します |
|
指定されたインデックスにあるカーネルオブジェクトのハンドルを返します |
|
指定されたインデックスにあるカーネルオブジェクトの名前を返します |
|
OpenCLプログラムのハンドルを返します |
|
OpenCLプログラムを初期化します |
|
指定されたインデックスでのOpenCLプログラムへのエントリポイントを作成します |
|
指定されたインデックスでのOpenCL開始関数を削除します |
|
指定されたインデックスにあるOpenCL関数のパラメータを設定します |
|
指定されたインデックスにあるOpenCL関数のパラメータとしてOpenCLバッファを設定します |
|
指定されたインデックスにあるOpenCL関数のパラメータをローカルメモリで設定します |
|
バッファ数を設定します |
|
カーネルオブジェクトの数を設定します |
|
OpenCLプログラムをアンロードします |
|
浮動小数点データ型がデバイスでサポートされているかどうかをチェックします |