Intel® OpenCL SDK 1.1 の導入

インテル® SDK for OpenCL* Application

インテルより初めての製品版となる Intel® OpenCL SDK 1.1 が 2011年 6月にリリースされました。この記事では、すでに OpenCL プログラムを開発している開発者、あるいは OpenCL について多少の知識を持つユーザーを対象に、Intel® OpenCL SDK 1.1 を導入する上で参考になるいくつかの資料を紹介します。これから OpenCL を学習しようとしている方は、Khronos OpenCL など OpenCL の仕様に関する他の資料も参考にしてください。

1. Intel® OpenCL SDK 1.1 の概要

OpenCL ライブラリーは、CPU や GPU などの複数の異なるプロセッサーを利用することができるヘテロジニアス (heterogeneous) な環境において、それらを統一的に使用するためのインターフェースを提供します。

Intel® OpenCL SDK 1.1 は OpenCL の最新の仕様である OpenCL 1.1 (2010年 6月発行) に準拠しており、オプションとしてアウト・オブ・オーダー実行、ネイティブ・カーネル、倍精度浮動小数(cl_khr_fp64)、あるいは printf 関数(cl_intel_printf) などの機能をサポートしています。また、Intel® OpenCL SDK を使用して OpenCL アプリケーションを作成すれば、インテル・プロセッサーに対してベクトル化を含む最適化を施すことが可能になります。

Intel® OpenCL SDK 1.1 によってサポートされている機能や詳しい使用方法については Intel® OpenCL SDK – User’s Guide (pdf) を参照してください。なお、現在のところ、Intel® OpenCL SDK のサポートはサポート・フォーラムを通してのみ行われています。

Intel® Software Network Forum: Intel® OpenCL SDK (http://software.intel.com/en-us/forums/intel-opencl-sdk/)

また、よくある質問については次のサイトにまとめられています。

Intel® OpenCL SDK – Frequently Asked Questions (http://software.intel.com/en-us/articles/opencl-sdk-frequently-asked-questions/)

2. Intel® OpenCL SDK 1.1 の導入

SDK を使用する前に Intel® OpenCL SDK End User License Agreement (http://software.intel.com/en-us/articles/opencl-sdk-EULA/) を確認してください。商用版の OpenCL 製品を開発するために Intel® OpenCL SDK を利用することができます。また、このバージョンで修正された問題や、SDK を使用するために必要となる環境に関しては、Intel® OpenCL SDK – Release Notes (http://software.intel.com/en-us/articles/opencl-release-notes/) を参照してください。現在のところサポートされている OS は、Windows 版の場合、Windows Vista Service Pack 2 以降 (32bit/64bit OS)、Linux 版の場合は、SUSE Linux Enterprise Server 11 Service Pack 1 あるいは Red Hat EL 6 (64bit OS のみ) となります。

SDK のインストール方法については、Intel® OpenCL SDK – Installation Notes (http://software.intel.com/en-us/articles/installation-notes-opencl-sdk/) を参照してください。Windows 版では、デフォルトで以下のフォルダーに製品がインストールされます。

32bit OS の場合:
C:\Program Files\Intel\OpenCL SDK\1.1

64bit OS の場合:
C:\Program Files (x86)\Intel\OpenCL SDK\1.1

インストールフォルダーのパスは環境変数 INTELOCLSDKROOT を使用して参照することができます。例えば、インクルード・ヘッダー・ファイルが格納されているフォルダーを参照する場合は、$(INTELOCLSDKROOT)\include のように指定すればよいでしょう。

Intel® OpenCL SDK 1.1 Windows 版をインストールすると GodRays、ShallowWater、あるいは ToneMapping など、いくつかのサンプルプログラムも一緒にインストールされます。これらのサンプルに関する解説は、Intel® OpenCL SDK Samples (http://software.intel.com/en-us/articles/intel-opencl-sdk-samples/) からも入手することができます。

Linux 版の場合、SDK は RPM パッケージの形式で配布されています。rpm –i コマンドを使用してインストールを行うと、/usr/include/CL、/etc/OpenCL、および /usr/lib64 以下にそれぞれ関連するファイルがインストールされます(RHEL6 の場合)。

3. Intel® OpenCL SDK を使用した OpenCL プログラムの開発

Intel® OpenCL SDK を使用して OpenCL プログラムを開発する上で、コードのデバッグあるいは最適化に関するいくつかの役立つ資料が提供されています。

Tips and Tricks for Kernel Development (http://software.intel.com/en-us/articles/tips-and-tricks-for-kernel-development/) では、パフォーマンスの観点から優れたカーネルを記述するためのいくつかのヒントが述べられています。カーネルの記述も含め、OpenCL コードの記述に関するより深い知識を得たければ、Writing Optimal OpenCL™ Code with Intel® OpenCL SDK – Performance Guide (pdf) がよい資料となるでしょう。この資料の第 5 章 Performance Debugging Intro は記事として Web 上でも公開されています。

Intel® OpenCL SDK 1.1 では、組み込み関数として printf 関数がサポートされています。printf 関数の使用における制限や、ベクトル型の出力指定については Debugging OpenCL™ Kernels Using printf (http://software.intel.com/en-us/articles/debugging-opencl-kernels-using-printf/) を参照してください。

OpenCL コードのデバッグあるいは最適化を行うために、いくつかのツールが利用できます。Windows 版の Intel® OpenCL SDK 1.1 に付属しているツールであるオフライン・コンパイラーでは OpenCL コードの構文チェックや変換されるアセンブリー言語の確認などが行えます。詳しくは Inspect your Code with the Intel® OpenCL SDK Offline Compiler (http://software.intel.com/en-us/articles/inspect-your-code-with-intel-opencl-sdk-offline-compiler/) を参照してください。

また、インテルからリリースされているその他のツールを使用して、OpenCL コードの分析を行うこともできます。インテル® Graphics Performance Analyzers を使用してタイムライン・トラッカーより OpenCL カーネルやメモリー操作の確認が可能です。

さらに、インテル® VTune™ Amplifier XE 2011 で OpenCL コードのサンプリングを行うことで、生成されたアセンブリー・コードを確認することができます。設定方法等に関しては インテル OpenCL SDK 環境におけるインテル® VTune™ Amplifier XE 2011 の操作 を参照してください。

Intel® OpenCL SDK 1.1は、SSE4.1 命令以上を搭載するプロセッサーで実行することができます。拡張版インテル® Core™ マイクロアーキテクチャー・ベースの45nm世代のインテル® Core™2 Duo プロセッサー以降であればほとんどのシステムで検証できます。ぜひ試してみてください。

タイトルとURLをコピーしました