opencl

OpenCLで正方行列の転置をとってみた

いままで、ホストコードでのOpeCL APIについて説明してきたが、諸般の都合*1により残りは一旦省略し、実際のコードを見ていく。 前まではホストコードをC言語で記述するとして説明してきたのに、いきなりC++バインディングで書いてあるとか気にしない。C++つ…

OpenCLのお勉強4

OpenCLの初期化2 各デバイスに命令キューを作成する。 cl_command_queue clCreateCommandQueue(cl_context context, cl_device_id device, cl_command_properties properties, cl_int *errcode_ret); 作りたいもののデバイスIDと、その所属するコンテキスト…

OpenCLのお勉強3

いいかげんいままでまったくコードが登場しなかったが、今回から若干登場し始める。 ちなみに、ここの内容は、英語力のない人間が、The OpenCL Specification Ver1.0 Rev3.3を読みながらなので、不審な点があるならばどんどん指摘してください。 OpenCLの初…

OpenCLのお勉強2

プログラムの流れ まずOpenCLコードを実行する前には次のことをする必要がある。 OpenCLデバイスの一覧取得 コンテキスト(Context)の作成 命令キュー(Command-queue)の作成 コンテキストはカーネルの実行やメモリオブジェクト、同期などの管理を行うもので、…

OpenCLのお勉強

なんとなくOpenCLあたりを勉強しておけば役に立つかなぁと思い少しづつまとめるかも OpenCLってなんなの? CPUだったりGPUだったりDSPだったりの、アクセラレータの混在したヘテロジニアス(Heterogeneous)な環境向けの並列プログラミング環境。 一応ベンダー…