インテル® SDK for OpenCL* Applications 入門

インテル® Media Server Studioインテル® SDK for OpenCL* Application

この記事はインテル® デベロッパー・ゾーンに公開されている「Getting Started with Intel® SDK for OpenCL™ Applications」の参考訳です。

このガイドは、以下で入手可能なインテル® SDK for OpenCL* Applications を使用して、OpenCL* アプリケーションを作成、ビルド、デバッグそして解析を行うための簡単な手順を説明しています。

インテル® 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* プラットフォームが利用可能かどうか確認します。

  1. Visual Studio* を起動します。
  2. [CODE-BUILDER] > [Platform Info…] を選択します。

[Platform Info] ウィンドウが開き、利用可能なプラットフォームとハードウェアのプロパティーのリストが表示されます。

OpenCL* カーネルのビルド

次に、Visual Studio* プラグインを使用してOpenCL* カーネルをビルドします。

ここでは、プラグインをテストするため OpenCL* サンプルコードで公開されているサンプルを使用します。

サンプル・アプリケーションをビルドするには、次の操作を行います。

  1. OpenCL* プラットフォーム機能ビューアーのサンプルまたは任意のコードサンプルをダウンロードします。
  2. ダウンロードしたファイルを任意のフォルダーに展開します。
  3. 使用する Visual Studio* バージョンのソリューション・ファイルを選択します。
  4. [ビルド] > [ソリューションのビルド] を選択します。

ビルドに成功すると、次のようなメッセージが出力されます。

ビルドに失敗すると、エラーメッセージが出力されます。次に例を示します。

独自の OpenCL* カーネルを作成することもできます。
Visual Studio* 環境で Code Builder プラグインを使用して、カーネルを開発するための詳しい情報は、開発者ガイドをご覧ください。

OpenCL* アプリケーションのデバッグと解析

Microsoft* Visual Studio* IDE 向けのインテル® Code Builder for OpenCL* API プラグインの API デバッグ機能を使用して、OpenCL* アプリケーションをデバッグできます。

OpenCL* アプリケーションの API 呼び出しをデバッグするには、次の手順に従って、API デバッガーを有効にする必要があります。

  1. Visual Studio* を起動します。
  2. [CODE BUILDER] > [OpenCL Debugger] > [Options] > [API Debugger] を選択します。
  3. [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* アプリケーションを解析する

アプリケーションのデバッグが完了したら、パフォーマンス改善のため、次の手順に従って解析データを収集します。

  1. [CODE BUILDER] > [OpenCL Application Analysis] > [New Analysis Session…] を選択します
  2. 解析するアプリケーションとアプリケーションの領域を選択します。
  3. [Process Launch] チェックボックスの [Start Automatically] をチェックし、[Launch] をクリックします。
    アプリケーションが起動され、Code Builder はデータの収集を開始します。
  4. アプリケーションが実行を完了すると、[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* のサンプルコード

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください

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