表紙画像

C#によるOpenCL並列プログラミング

2012年11月10日 初版第1刷発行

本書について

 本書は並列プログラミング規格のひとつであるOpenCLをC#から利用する方法を紹介する書籍です。対象読者のレベルは「入門者~中級者」を考えています。初歩的なプログラムも示しますが、基本的にOpenCLの基礎は習得済みのプログラマを対象にします。
 OpemCLはプラットフォームや開発環境に依存しない並列プログラミングの規格です。ヘテロジニアスな環境を前提にしているため、スレッドやOpenMPなどに比べ若干手続きが面倒です。
巷には、いくつかの便利なOpenCLラッパーが存在します。単にC#からOpenCLを利用したい人は、そのようなラッパーを使うのもよいでしょう。ただし、そのようなラッパーを使用すると、開発を途中でストップした(する)もの、メンテナンスを頻繁に行わないもの、あるいは情報を十分に提供しないものなどが少なくありません。OpenCL APIをラップするのは、それほど難しいことではなく、APIの数も多くはありません。ですので、自身でラッパーを作った方がメンテナンスやラッパーの拡張へ柔軟に対応できます。
 本書では、APIラッパー関数作成まで解説しますが、クラスにまとめる部分は割愛しました。なぜかというと、本書で紹介したAPIラッパー関数を参考に、OpenCL用のクラスを開発するのは難しくないと判断したからです。また、クラスを開発すると、OpenCLの説明以前にクラスの説明を行わなければならず、書籍としてのフォーカスが不明瞭になります。

本書の対象読者は、
● C#からOpenCLを利用したい人
● OpenCLプログラミング入門書を読み終え、高速プログラミングに挑戦したい人
● 並列プログラミングの初級者〜中級者
です。

目 次