この記事はインテル® デベロッパー・ゾーンに公開されている「Getting Started with Intel® SDK for OpenCL™ Applications」の参考訳です。
このガイドは、以下で入手可能なインテル® SDK for OpenCL* Applications を使用して、OpenCL* アプリケーションを作成、ビルド、デバッグそして解析を行うための簡単な手順を説明しています。
- スタンドアロン版
- インテル® Media Server Studio
インテル® Media Server Studio は、Windows* と Andorid* 向けのモバイルとデスクトップ・クライアント・システム向けに統合開発環境を提供します。Linux* システム やほかのサーバーと組込み構成向けの OpenCL* アプリケーションをターゲットとする場合、追加のインテル® SDK for OpenCL* Applications (https://www.isus.jp/article/intel-software-dev-products/intel-opencl/) のオプションも利用できます。
インテル® SDK for OpenCL* Applications について
インテル® SDK for OpenCL* Applications は、インテル® プロセッサー・グラフィックスを搭載するインテル® アーキテクチャー・プロセッサーをターゲットとする、OpenCL* アプリケーションの開発を可能にするソフトウェア・ツール・スイートです。
インテル® SDK for OpenCL* Applications は、次の機能をサポートします。
- OpenCL* C カーネルコードのコンパイルと解析
- OpenCL* C カーネルコードのデバッグ
- Microsoft* Visual Studio* と Eclipse* IDE との統合
- Android* 向けのリモート開発とコンパイル
どのインテル® SDK for OpenCL* Applications バージョンを使用すべきか
ターゲット・オペレーティング・システムとハードウェアによって、インテル® Media Server Studio やほかのバージョンのインテル® SDK for OpenCL* Applications を選択する必要があります。
インテル® Media Server Studio に含まれるインテル® SDK for OpenCL* Applications は、次の機能を提供します。
- ビルド、デバッグおよび解析ツール:
- Microsoft* Visual Studio* と Eclipse* との統合
- OpenCL* C カーネル開発フレームワーク
- OpenCL* 2.0 開発環境
- OpenCL* API デバッグとトレース
- Android* 向けのリモート開発
- プレビューの OpenCL* 解析機能
- 最新の標準規格をサポート:
- OpenCL* 1.2 と 2.0
- SPIR* 1.2
- オペレーティング・システムとデバイス間の移植性:
- インテル® プロセッサーとインテル® プロセッサー・グラフィックスのサポート
- Windows* ホスト開発環境
- Android* と Windows* ターゲット
- グラフィックス計算とインテル® アーキテクチャーの最適化:
- 新しいインテル® Core™ M プロセッサー、第 5 世代と第 6 世代インテル® Core™ プロセッサー
- インテル® Atom™ プロセッサー
- 共有仮想メモリーによるオンダイ・ヘテロジニアス・コンピューティング
完全な機能リストは、インテル® SDK for OpenCL* Applications リリースノート (英語) をご覧ください。
Linux* OS 向けに OpenCL* をサポートするインテル® プロセッサー・グラフィックスなど、構成に関する詳しい情報が必要ですか? インテル® Media Server Studio に同梱されるインテル® SDK for OpenCL* Applications を使用します。その他の構成については、https://www.isus.jp/article/intel-software-dev-products-support/intel-opencl-support/ をご覧ください。
必要条件
Code Builder のコンポーネントが正しく動作するには、次のコンポーネントがインストールされている必要があります。
- インテル® プロセッサー・グラフィックスの OpenCL* サポートを利用する場合、第 3 世代インテル® Core™ プロセッサー、インテル® Atom™ プロセッサー (開発コード名 Bay Trail) 以上が必要
- インテル® グラフィックス・ドライバー 15.33 以降
- 仮想環境では、インテル® プロセッサー・グラフィックス上で OpenCL* を利用できません。古いバージョンのインテル® プロセッサーの場合と同様に、CPU デバイス用の OpenCL* ランタイム 15.1 を手動で事前にインストールする必要があります。サポートされているハードウェアの一覧は、OpenCL* ランタイム・リリースノート (英語) をご覧ください。
- Android* 向け開発の場合、OpenCL*対応のインテルベースの Android* システムが必要です。または、Android* エミュレーションで OpenCL* CPU for Android* を使用することもできます。
- オプション: Microsoft* Visual Studio* 2010、2012、2013、または Eclipse* (Keppler 以降)
製品のインストールの詳細については、リリースノート (英語) の「Installation Guidelines」をご覧ください。
インテル® Code Builder for OpenCL* API ツールの導入
インテル® SDK for OpenCL* Applications を使用する最も簡単な方法は、Visual Studio* プラグイン (インテル® Code Builder for OpenCL* API) を使用することです。
OpenCL* プラットフォームの確認
OpenCL* Code Builder をインストールしたら、次の手順に従って、システムで OpenCL* プラットフォームが利用可能かどうか確認します。
- Visual Studio* を起動します。
- [CODE-BUILDER] > [Platform Info…] を選択します。
[Platform Info] ウィンドウが開き、利用可能なプラットフォームとハードウェアのプロパティーのリストが表示されます。
OpenCL* カーネルのビルド
次に、Visual Studio* プラグインを使用してOpenCL* カーネルをビルドします。
ここでは、プラグインをテストするため OpenCL* サンプルコードで公開されているサンプルを使用します。
サンプル・アプリケーションをビルドするには、次の操作を行います。
- OpenCL* プラットフォーム機能ビューアーのサンプルまたは任意のコードサンプルをダウンロードします。
- ダウンロードしたファイルを任意のフォルダーに展開します。
- 使用する Visual Studio* バージョンのソリューション・ファイルを選択します。
- [ビルド] > [ソリューションのビルド] を選択します。
ビルドに成功すると、次のようなメッセージが出力されます。
ビルドに失敗すると、エラーメッセージが出力されます。次に例を示します。
独自の OpenCL* カーネルを作成することもできます。
Visual Studio* 環境で Code Builder プラグインを使用して、カーネルを開発するための詳しい情報は、開発者ガイドをご覧ください。
OpenCL* アプリケーションのデバッグと解析
Microsoft* Visual Studio* IDE 向けのインテル® Code Builder for OpenCL* API プラグインの API デバッグ機能を使用して、OpenCL* アプリケーションをデバッグできます。
OpenCL* アプリケーションの API 呼び出しをデバッグするには、次の手順に従って、API デバッガーを有効にする必要があります。
- Visual Studio* を起動します。
- [CODE BUILDER] > [OpenCL Debugger] > [Options] > [API Debugger] を選択します。
- [Enable OpenCL API Debugger] をチェックします。
これで、アプリケーションの OpenCL* API 呼び出しにブレークポイントを設定し、[F5] キーを押してデバッグを開始できます。
API デバッガーは、API 呼び出しのさまざまなビューを提供します。ビューを開くには、[CODE BUILDER] > [OpenCL Debugger] を選択します。
API デバッガーの各ビューについては、OpenCL* Code Builder 開発者ガイド (英語) の次のトピックを参照してください。
- トレースビュー
- オブジェクト・ツリー・ビュー
- プロパティー・ビュー
- コマンドキュー・ビュー
- プロブレムビュー
- イメージビュー
- データビュー
- メモリートレース
OpenCL* Code Builder プラグインの機能の一覧と使用法はインテル® SDK for OpenCL* Applications – 開発者ガイド (英語) を参照してください。
OpenCL* アプリケーションを解析する
アプリケーションのデバッグが完了したら、パフォーマンス改善のため、次の手順に従って解析データを収集します。
- [CODE BUILDER] > [OpenCL Application Analysis] > [New Analysis Session…] を選択します
- 解析するアプリケーションとアプリケーションの領域を選択します。
- [Process Launch] チェックボックスの [Start Automatically] をチェックし、[Launch] をクリックします。
アプリケーションが起動され、Code Builder はデータの収集を開始します。 - アプリケーションが実行を完了すると、[Analyze Sessions Explorer] ウィンドウに新しい解析セッションが表示され、Visual Studio* に結果が表示されます。
解析結果ビューには、解析ホームページと解析結果を確認するいくつかの手順を含む解析プログレスバーがあります。
すべての解析情報は、レポートメニューから参照できます。
ドキュメントとリソース
インテル® Code Builder for OpenCL* API の導入には、次のドキュメントとウェブ記事を参照してください。
- OpenCL* 2.0 仕様 (英語) – OpenCL* テクノロジーに関する基本情報を含みます
- Khronos* OpenCL* Registry (英語) – Khronos* によって提供される、OpenCL* に関するすべての公式情報
- インテル® SDK for OpenCL* Applications 開発者ガイド – 製品ツール、機能、OpenCL* ランタイムに関する詳しい情報と OpenCL* アプリケーションを最適化するためのガイドライン
- OpenCL* サンプルコード – インテルによって開発された、OpenCL* のサンプルコード
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください