Chapter 14. HelloWorldプログラム

Table of Contents

14.1. HelloWorldプログラムの環境設定
14.2. カーネル関数のソースコード
14.3. HelloWorld(タスク並列プログラミング)
14.3.1. 出力
14.4. HelloWorld(データ並列プログラミング)
14.4.1. 例外クラス

Pythonのライブラリーに慣れた方は、ライブラリーを理解する際、まず動くものを見る癖がついている方が多いと思います。技術用語とひたすら格闘して抽象的な理解をするよりも、シンプルなプログラムを動作させ、なぜ動作したかを理解する方が多くの場合では学習効率がいいことが往々としてあり、筆者もそうした手法が本を執筆する上で重要だと考えます。

OpenCLは、細部にモジュール化されており、各モジュール毎に一つ一つHelloWorldを書いていく標準的なアプローチだと、動くアプリケーションができるまでに、数十〜百ページを費やすことになるので、多くの初学者(特にKhronosグループが出版する規格書を読んで学習する人)が挫折する主因となっているかと思います。

本書では理解できなくともコンパイルさせる動作確認を先にして頂き、ライブラリーの細部コンポーネントについては、補足していくアプローチをとります。

Copyright 2018-2019, by Masaki Komatsu