参照

OpenCLLink は,Wolfram言語でOpenCLの並列計算言語を使うことを可能にする.これには,ユーザ定義のOpenCL関数のWolfram言語へのロードを簡単にする関数が含まれている.また,OpenCLLink はOpenCLを現存のWolfram言語開発ツールを統合させて,高度な自動化と制御を行うことを可能にする.

クエリ

OpenCLQOpenCLLink がサポートされるかを判断する
OpenCLInformationすべてのデバイス情報を列挙する
$OpenCLLinkPathOpenCLLink アプリケーションへのパス
$OpenCLLinkLibraryPathOpenCLLink ライブラリリソースファイルへのパス
$OpenCLPlatformOpenCLLink の計算に使われるプラットフォーム
$OpenCLDeviceOpenCLLink の計算に使われるデバイス

OpenCLLink の設定のクエリを行う関数.

プログラミング

OpenCLFunctionOpenCLFunctionLoadを使ってロードされたOpenCL関数へのハンドル
OpenCLFunctionLoadOpenCLFunctionをWolfram言語にロードする
OpenCLFunctionInformationOpenCLFunction情報を得る

OpenCL関数を使う.

SymbolicOpenCLFunctionOpenCL関数の記号的な表現
SymbolicOpenCLBlockIndexブロックインデックスのOpenCL呼出しの記号的な表現
SymbolicOpenCLThreadIndexスレッドインデックスのOpenCL呼出しの記号的な表現
SymbolicOpenCLBlockDimensionブロック次元のOpenCL呼出しの記号的な表現
SymbolicOpenCLKernelIndexカーネルインデックスのOpenCL呼出しの記号的な表現
SymbolicOpenCLCalculateKernelIndexOpenCLのインデックス計算の記号的な表現
SymbolicOpenCLDeclareIndexBlockOpenCLのインデックス宣言の記号的な表現

OpenCLプログラムの記号的な表現.

メモリ

OpenCLMemoryOpenCLMemoryLoadあるいはOpenCLMemoryAllocateを使って登録されたOpenCLメモリのハンドル
OpenCLMemoryLoadWolfram言語メモリを OpenCLLink にロードし, OpenCLMemoryを返す
OpenCLMemoryAllocateメモリを OpenCLLink に割り当てて,OpenCLMemoryを返す
OpenCLMemoryGetOpenCLMemoryをWolfram言語にコピーする
OpenCLMemoryUnloadOpenCLMemoryハンドルをアンロードまたは削除する
OpenCLMemoryInformationOpenCLMemoryハンドル情報を得る
OpenCLMemoryCopyToHostOpenCLMemoryをGPUからCPUへコピーする
OpenCLMemoryCopyToDeviceOpenCLMemoryをCPUからGPUへコピーする

OpenCLのメモリを使う関数.

例題

OpenCLFractalRender3D3Dフラクタルを計算し,レイトレーシングする
OpenCLImplicitRender3D陰曲面を計算し,レンダリングする
OpenCLMersenneTwisterGPUに乱数を生成する

OpenCLLink のアプリケーション例.