はじめに
This feature is not supported on the Wolfram Cloud.

OpenCLLink は,Wolfram言語を使ってOpenCLのシステム情報についてのクエリを行い,Wolfram言語を使ってOpenCLプログラムを実行することを可能にする.このセクションでは,OpenCLLink の機能について簡単に述べる.

OpenCLとは

OpenCLLink パッケージは,Wolfram言語を通してOpenCLの機能を利用することを可能にする.ユーザは,OpenCLを使用できるデバイスのドライバとハードウェアをインストールしなければならない.現在 OpenCLは,多くの種類のNVIDIA,AMD/ATI,VIAのハードウェアでサポートされている.またAppleのMacOSX Snow Leopard 10.6でもネイティブサポートされている.

CPUとOpenCL

通常のCPUプログラムと違って,OpenCLではCPUあるいはビデオカード上のGPU(グラフィックスプロセッシングユニット)のいずれかで実行するコードを書くことができる.正しく行うと,性能を大きく高めることができる.

CUDAとOpenCL

CUDALink と違って,OpenCLLink ではGPUとCPU(CPUがそれをサポートするのであれば)の両方でプログラムを実行することができる.

システム情報

OpenCLLink パッケージを使うには,まずそれをロードする必要がある.

In[1]:=
Click for copyable input

次に,システムサポートを OpenCLLink が検出するかどうかをチェックすることができる.これはOpenCLQを使って行う.

In[2]:=
Click for copyable input
Out[2]=

サポートされるハードウェアについて詳しく知りたい場合は,SystemInformationOpenCLInformationを使う.ここでは,SystemInformationを使う.

In[3]:=
Click for copyable input
Out[3]=

ユーザはOpenCLInformationを使って,基礎となるSystemInformationデータにアクセスすることもできる. OpenCLInformationからの結果はクエリを行うことができる.ここでは,最初のプラットフォームのデバイス名が表示されている.

In[4]:=
Click for copyable input
Out[4]=

OpenCLプログラミング

OpenCLLink の主な機能は,新しいGPUプログラムの開発を容易にし,これをWolfram言語の作業に組み込むことができるようにするということである.

OpenCLLink の機能を使うためには,まず OpenCLLink アプリケーションを以下のようにロードする必要がある.

In[1]:=
Click for copyable input

簡単なOpenCL関数をロードする.これは入力ベクトルを取り,それぞれの要素を倍にする.

In[2]:=
Click for copyable input
Out[2]=

以下は,関数の呼出しに使う入力ベクトルである.

In[3]:=
Click for copyable input

OpenCLFunctionを呼び出す.

In[4]:=
Click for copyable input
Out[4]=

以下のように,OpenCLFunctionInformationを使って関数の情報を得ることができる.

In[5]:=
Click for copyable input
Out[5]=