MetaTrader 5をダウンロードする
MQL5 リファレンスOpenCL 操作 

OpenCL 操作

OpenCLプログラムは OpenCL1.1以上をサポートするビデオカード上の計算を実行するために使用されます。現代のビデオカードには、着信されたデータストリームを同時に単純な数学的操作を実行することが出来る小さな専用プロセッサの数百人が含まれています。OpenCLの言語は、並列コンピューティングを整理し、特定クラスのタスクためのより大きな速度を提供します。

グラフィックカードによっては double 型の数の操作はデフォルトでは無効にされています。これはコンパイルエラー5105 につながります。double 型数値のサポートを有効にするには #pragma OPENCL EXTENSION cl_khr_fp64 : enable ディレクティブをお使いのプログラムに追加してください。グラフィックカードが double をサポートしない場合は、ディレクティブの使用はサポートを有効にしません。

OpenCL用のソースコードは別のCLファイルに書き込むことをお勧めします。これらのファイルは後にリソース変数を使用してMQL5プログラムに組み込むことができます。

OpenCL でプログラムを実行するための関数

関数

アクション

CLHandleType

OpenCL ハンドルの型をENUM_OPENCL_HANDLE_TYPE 列挙の値として返します。

CLGetInfoInteger

OpenCL オブジェクトまたはデバイスから整数プロパティ値を返します。

CLContextCreate

OpenCL コンテキストを作成します。

CLContextFree

OpenCL コンテキストを削除します。

CLGetDeviceInfo

OpenCL ドライバからデバイスプロパティを受け取ります。

CLProgramCreate

OpenCLプログラムをソースコードから作成します。

CLProgramFree

OpenCLプログラムを削除します。

CLKernelCreate

OpenCL start 関数を作成します。

CLKernelFree

OpenCL start 関数を削除します。

CLSetKernelArg

OpenCL 関数のパラメータを設定します。

CLSetKernelArgMem

OpenCL バッファを OpenCL 関数のパラメータをして設定します。

CLSetKernelArgMemLocal

ローカルバッファをカーネル関数の引数として設定します。

CLBufferCreate

OpenCL バッファを作成します。

CLBufferFree

OpenCL バッファを削除します。

CLBufferWrite

配列を OpenCL バッファに書き込みます。

CLBufferRead

OpenCL バッファを配列に読み込みます。

CLExecute

OpenCLプログラムを実行します。

CLExecutionStatus

OpenCLプログラム実行ステータスを返します。

参照

OpenCL, リソース