- トップページ
- OpenCL入門 - マルチコアCPU・GPUのための並列プログラミング -
OpenCL入門 - マルチコアCPU・GPUのための並列プログラミング -

3,850円(本体 3,500円+税10%)
- 品種名
- 書籍
- 発売日
- 2010/1/22
- ページ数
- 296P
- サイズ
- B5変型判
- 著者
- 株式会社フィックスターズ(土山 了士/中村 孝史/飯塚 拓郎/浅原 明広/三木 聡) 著
- ISBN
- 9784844328148
PCをスパコンに! 並列コンピューティングの次世代フレームワーク、ここに登場
科学・技術計算/画像処理の分野で注目を集める並列処理フレームワークの標準規格OpenCLについて、その基礎からプログラム開発の要点までを平易に解説。標準化団体クロノス・グループ(Khronos Group)推奨
●OpenCLとは
オープンシーエル。Open Computing Languageの略。CPU、GPU、DSP等が混在する(ヘテロジニアスな)プラットフォームで並列処理プログラムを書くためのフレームワーク。クロノス・グループ(Khronos Group)によって標準化が進められ、2008年12月9日にOpenCL 1.0が制定された。C99に基づくC言語(コンパイラ)と並列計算をサポートするAPI群から成り立ち、データ並列/タスク並列のいずれもサポートしている。
実際の紙面をPDFファイルで閲覧いただけます。立ち読みには「Adobe Reader」などのPDF閲覧ツールが必要です。
こちらからどうぞ
●OpenCLとは
オープンシーエル。Open Computing Languageの略。CPU、GPU、DSP等が混在する(ヘテロジニアスな)プラットフォームで並列処理プログラムを書くためのフレームワーク。クロノス・グループ(Khronos Group)によって標準化が進められ、2008年12月9日にOpenCL 1.0が制定された。C99に基づくC言語(コンパイラ)と並列計算をサポートするAPI群から成り立ち、データ並列/タスク並列のいずれもサポートしている。
実際の紙面をPDFファイルで閲覧いただけます。立ち読みには「Adobe Reader」などのPDF閲覧ツールが必要です。
こちらからどうぞ
「読者アンケートに答える」「読者プレゼントに応募」の場合もこちらをご利用ください。
書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。
学校・法人一括購入に関するお問い合わせはこちらへ。
詳細
■本書刊行によせて
| OpenCLは、かつてないほど幅広い分野のユーザに、複雑なマルチプロセッサ・システムのプログラミング・パワーをもたらす、注目すべき新しいオープン・スタンダードです。 業界スタンダードは、利用者や業界の理解を得られない限り、そのテクノロジーの潜在力や将来性について意味を持ちません。そのため、Khronos Group は、OpenCLの仕様策定のみならず、カンファレンスやプロモーション活動を通して、さまざまな分野に広がるOpenCLエコシステムの育成を、全面的に支援しています。 フィックスターズは、国内初のOpenCL セミナーやチュートリアルを開催しており、最新のOpenCL関連教材を作成するのにふさわしい、高度な知識と経験を有しています。私は、これからOpenCLを学び、そのパワーや可能性を活用したいと考えている多くの皆さまに、この本を自信を持って推薦します。 Neil Trevett(Khronos Groupプレジデント/OpenCLワーキンググループ議長) |
関連書籍
ダウンロード
本製品の読者さまを対象としたダウンロード情報はありません。
お詫びと訂正
誤記のためにご迷惑をおかけし、誠に申し訳ございません。
- 16ページ 図1.14 右側
- [誤]
75 - [正]
62.5 - 【 第2刷にて修正 】
- [誤]
- 95ページ 本文
- [誤]
ローカルワークアイテムIDはワークグループ内でのワークアイテムのIDを示し、ワークグループID はそのワークアイテムが所属するワークアイテムのIDを示します。 - [正]
ローカルワークアイテムIDはワークグループ内でのワークアイテムのIDを示し、ワークグループID はそのワークアイテムが所属するワークグループのIDを示します。 - 【 第2刷にて修正 】
- [誤]
- 97ページ 本文
- [誤]
執筆時点(2009年12月)でMac OS XのOpenCL実装ではCL_DEVICE_MAX_WORK_ITEM_ DIMENSIONSの値が1つとなっており、1つのワークグループで複数のワークアイテムを動かすことができません。注意してください。 - [正]
執筆時点(2009年12月)でMac OS XのOpenCL実装では、CPUの場合、CL_DEVICE_MAX_WORK_ITEM_ DIMENSIONSの値が1つとなっており、1つのワークグループで複数のワークアイテムを動かすことができません。注意してください。 - 【 第2刷にて修正 】
- [誤]
- 107ページ 図5.2「ベクタ値への演算子適用」cの要素
- [誤]
「a.x+b.x」「a.y+b.y」「a.z+b.z」「a.z+b.z」「a.w+b.w」 - [正]
「a.x+b.x」「a.y+b.y」「a.z+b.z」「a.w+b.w」 - 【 第2刷にて修正 】
- [誤]
- 123ページ リスト 5.20
- [誤]
062: image = clCreateImage2D(context, CL_MEM_READ_ONLY, &fmt, 4, 4, 0, 0, NULL); - [正]
062: image = clCreateImage2D(context, CL_MEM_READ_ONLY, &fmt, 4, 4, 0, NULL, NULL); - 【 第2刷にて修正 】
- [誤]
- 125ページ リスト(ページ下部)
- [誤]
062: image = clCreateImage2D(context, CL_MEM_READ_ONLY, &fmt, 4,
4, 0, 0, NULL); - [正]
062: image = clCreateImage2D(context, CL_MEM_READ_ONLY, &fmt, 4,
4, 0, NULL, NULL); - 【 第2刷にて修正 】
- [誤]
- 125ページ 表 5.7
- [誤]
CL_SIGNED_UINT8 uchar
CL_SIGNED_UINT16 ushort
CL_SIGNED_UINT32 uint - [正]
CL_UNSIGNED_INT8 uchar
CL_UNSIGNED_INT16 ushort
CL_UNSIGNED_INT32 uint - 【 第2刷にて修正 】
- [誤]
- 130ページ 本文
- [誤]
clGetDeviceIDs関数で取得できるCL_DEVICE_SINGLE_FP_CONFIGに含まれるビットを調べることで、対応している丸め処理を確認できます。 - [正]
clGetDeviceInfo関数で取得できるCL_DEVICE_SINGLE_FP_CONFIGに含まれるビットを調べることで、対応している丸め処理を確認できます。 - 【 第2刷にて修正 】
- [誤]
- 174ページ 本文
- [誤]
9行目が実際に回転因子の計算を行っている部分ですが、8行目で偏角を実部と虚部で2/PIだけずらすことによって、cos関数でまとめて回転因子の計算を行っています。 - [正]
9行目が実際に回転因子の計算を行っている部分ですが、8行目で偏角を実部と虚部でPI/2だけずらすことによって、cos関数でまとめて回転因子の計算を行っています。 - 【 第2刷にて修正 】
- [誤]
- 203ページ 本文
- [誤]
ここでは、DCで生成したパラメータの数をCL_DEVICE_MAX_COMPUTE_UNITSの値で割った値をワークグループあたりのワークアイテム数に設定します。ただし、パラメータの数32個を超えて並列実行することはできないので、最大数を32としておきます。 - [正]
ここでは、DCで生成したパラメータmtsの要素数をCL_DEVICE_MAX_COMPUTE_UNITSの値で割った値をワークグループあたりのワークアイテム数に設定します。ただし、サンプルプログラムではmtsの要素数は32個となっているため(リスト6-17の14行目を参照)、最大で並列処理できる数は32となります。 - 【 第2刷にて修正 】
- [誤]
- 203ページ ページ下部 リスト内
- [誤]
if (num_compute_unit > 32) - [正]
if (num_compute_unit > 32)
if (num_compute_unit > 32) /* 最大で並列処理できる数はmtsの個数(=32) */ - 【 第2刷にて修正 】
- [誤]
- 281ページ 索引
- [誤]
CL_SIGNED_UINT16
CL_SIGNED_UINT32
CL_SIGNED_UINT8 - [正]
CL_UNSIGNED_INT16
CL_UNSIGNED_INT32
CL_UNSIGNED_INT8 - 【 第2刷にて修正 】
- [誤]
- 282ページ 索引
- [誤]
clGetDeviceIDs() ………… 68, 130, 223
clGetDeviceInfo() ………… 96, 115, 124, 187, 223 - [正]
clGetDeviceIDs() ………… 68, 223
clGetDeviceInfo() ………… 96, 115, 124, 130, 187, 223 - 【 第2刷にて修正 】
- [誤]
お問い合わせ
書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。









