アルテラ SDK for OpenCL スタート・ガイド 1

アルテラ SDK for OpenCL
スタート・ガイド
更新情報
フィードバック
Quartus Prime Design Suite のための更新 15.1
UG-OCL001
2015.11.02
101 Innovation Drive
San Jose, CA 95134
www.altera.com
目次-2
アルテラ SDK for OpenCL スタート・ガイド
目次
アルテラ SDK for OpenCL スタート・ガイド.................................................1-1
アルテラ SDK for OpenCL の使用条件................................................................................................ 1-2
アルテラ SDK for OpenCL の内容......................................................................................................... 1-3
アルテラ SDK for OpenCL セットアップ・プロセスの概要.........................................................1-4
Windows 向け アルテラ SDK for OpenCL スタート・ガイド....................... 2-1
アルテラ SDK for OpenCL のダウンロード .......................................................................................2-2
アルテラ SDK for OpenCL のインストール .......................................................................................2-2
アルテラ SDK for OpenCL ユーザー環境変数の設定 ..................................................................... 2-3
ソフトウェア・インストレーションの確認..................................................................................... 2-5
ソフトウェア・ラインセンスの取得.................................................................................................. 2-5
FPGA ボードのインストール ............................................................................................................... 2-6
エミュレーションによるホスト・ランタイムの機能性の検証 ................................................. 2-7
OpenCL デザイン例のダウンロード .......................................................................................2-8
エミュレーション用カーネルのコンパイル ........................................................................ 2-8
ホスト・アプリケーションのビルド ..................................................................................... 2-9
OpenCL カーネルのエミュレーション................................................................................... 2-9
OpenCL カーネルの FPGA ハードウェア・コンフィギュレーション・ファイルの作成 2-10
FPGA のハードウェア・イメージの更新........................................................................................ 2-12
FPGA ボードのデバイス名の照会 .........................................................................................2-12
FPGA のフラッシュ・メモリのプログラミング .............................................................. 2-13
FPGA での OpenCL カーネルの実行 ................................................................................................ 2-14
ホスト・アプリケーションの実行 ........................................................................................2-15
正常なカーネル実行からの出力.............................................................................................2-15
ソフトウェアのアンインストール ................................................................................................... 2-16
FPGA ボードのアンインストール .....................................................................................................2-16
Linux 向け Altera SDK for OpenCL スタート・ガイド.................................. 3-1
アルテラ SDK for OpenCL のダウンロード .......................................................................................3-2
アルテラ SDK for OpenCL のインストール .......................................................................................3-3
アルテラ SDK for OpenCL ユーザー環境変数の設定 ..................................................................... 3-3
ソフトウェア・インストレーションの確認..................................................................................... 3-4
ソフトウェア・ラインセンスの取得.................................................................................................. 3-5
FPGA ボードのインストール ............................................................................................................... 3-6
エミュレーションによるホスト・ランタイムの機能性の検証 ................................................. 3-7
OpenCL デザイン例のダウンロード .......................................................................................3-8
エミュレーション用カーネルのコンパイル ........................................................................ 3-8
ホスト・アプリケーションのビルド ..................................................................................... 3-8
OpenCL カーネルのエミュレーション................................................................................... 3-9
OpenCL カーネルの FPGA ハードウェア・コンフィギュレーション・ファイルの作成 .. 3-9
Altera Corporation
アルテラ SDK for OpenCL スタート・ガイド
目次-3
FPGA のハードウェア・イメージの更新........................................................................................ 3-11
FPGA ボードのデバイス名の照会 .........................................................................................3-11
FPGA のフラッシュ・メモリのプログラミング .............................................................. 3-12
FPGA での OpenCL カーネルの実行 ................................................................................................ 3-13
ホスト・アプリケーションの実行 ........................................................................................3-13
正常なカーネル実行からの出力.............................................................................................3-14
ソフトウェアのアンインストール ................................................................................................... 3-15
FPGA ボードのアンインストール .....................................................................................................3-15
改訂履歴............................................................................................................. A-1
Altera Corporation
アルテラ SDK for OpenCL スタート・ガイド
2015.11.02
UG-OCL001
更新情報
1
フィードバック
アルテラ SDK for OpenCL スタート・ガイド では、AOCL(Altera® Software Development Kit(SDK)
for OpenCL™) (1) をインストールする手順について説明しています。 また、この資料では、
OpenCL (2) アプリケーション例を AOCL と併せてコンパイルする方法も案内しています。
OpenCL は、ヘテロジニアス並列デバイスのプログラミング向け C ベースのオープン・スタンダ
ードです。 OpenCL Specification version 1.0 について、詳しくは OpenCL Reference Pages を参照し
てください。 OpenCL API(Application Programming Interface)およびプログラミング言語につい
て、詳しくは OpenCL Specification version 1.0 を参照してください。
AOCL は、アルテラ FPGA をターゲットとする OpenCL アプリケーションをビルドし動作させる
ためのコンパイラとツールを提供します。また、AOCL は OpenCL Specification version 1.0 の
Embedded Profile をサポートしています。
注意: AOCL のカーネルをデプロイする機能のみが必要な場合には、アルテラ RTE (Runtime
Environment) for OpenCL をダウンロードおよびインストールします。詳しくは Altera
RTE for OpenCL Getting Started Guide を参照してください。
AOCL と RTE を同一のホスト・システムにインストールすることはできません。
注意: AOCL と Cyclone® V SoC 開発キットを併せて使用する必要がある場合には、Altera SDK for
OpenCL Cyclone V SoC Getting Started Guide を参照してください。
関連情報
•
•
•
•
(1)
(2)
OpenCL Reference Pages
OpenCL Specification version 1.0
Altera RTE for OpenCL Getting Started Guide
Altera SDK for OpenCL Cyclone V SoC Getting Started Guide
アルテラ SDK for OpenCL は Khronos 社公開のスペックに基づいており、Khronos 社のコンフォーマ
ンス・テストに合格しています。現在のコンフォーマンス基準については www.khronos.org/
conformance を参照してください。
OpenCL および OpenCL ロゴは、Khronos Group™の許可を得て使用する Apple Inc のトレードマーク
です。
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
登録済
1-2
UG-OCL001
2015.11.02
アルテラ SDK for OpenCL の使用条件
アルテラ SDK for OpenCL の使用条件
アルテラ SDK for OpenCL のインストール、およびアルテラで推奨されるアクセラレータ・ボード
向け OpenCL アプリケーションの作成にあたり、使用するシステムがハードウェア、ターゲッ
ト・プラットフォーム、およびソフトウェアの要件を満たしている必要があります。
ハードウェア要件
アクセラレータ・ボード要件
• アルテラのリファレンス・プラットフォーム、またはアルテラ推奨ボード・ベンダのカスタ
ム・プラットフォームを取得する
詳しくは、アルテラ・ウェブサイトでアルテラ SDK for OpenCL FPGA プラットフォームのペ
ージを参照してください。
開発システム要件
• 必要なパッケージおよびドライバをインストールするために、開発システムでの管理者権限
を有している必要がある
• ソフトウェアをインストールするために、開発システムが少なくとも 85 ギガバイト(GB)
の空き領域を有している必要がある
• 開発システムが少なくとも 24 GB の RAM を有している必要がある
ヒン 推奨されるシステム・ストレージ・サイズについては、ボード・ベンダの資料を参照
ト:
してください。
• PCI Express® ( PCIe® )アクセラレータ・ボードでは、ホスト・マシンのマザーボードが少な
くともボードと同じ幅(つまり PCIe レーンと同じ数)の使用可能な PCIe ポート・スロット
を有している必要がある
ホスト・システムは、以下のサポートされるオペレーティング・システムのいずれかで動作して
いる必要があります。
• x86-64 アーキテクチャ上の Microsoft 64 ビット Windows7 または Windows8.1
• x86-64 アーキテクチャ上の RHEL(Red Hat Enterprise 64-bit Linux)バージョン 6
ソフトウェア要件
以下に示す、AOCL および Quartus® Prime ソフトウェアと互換する C コンパイラまたはソフトウ
ェア開発環境のいずれかを使用してホスト・アプリケーションを開発します。
• Windows システムでは、Microsoft Visual Studio バージョン 2010 Professional を使用する
• Linux システムでは、GCC に含まれる C コンパイラを使用する
Linux システムではバージョン 5 以降の Perl コマンドが必要です。システム環境変数設定で、
PATH システムに Perl コマンドへのパスを含めます。
関連情報
アルテラ・ウェブサイトのアルテラ SDK for OpenCL FPGA プラットフォーム・ページ
Altera Corporation
アルテラ SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
アルテラ SDK for OpenCL の内容
1-3
アルテラ SDK for OpenCL の内容
アルテラ® SDK for OpenCL にはロジック・コンポーネント、ドライバ、および AOCL に特化した
ライブラリとファイルが付属しています。
ロジック・コンポーネント
• AOC(Altera Offline Compiler)、これは OpenCL デバイス・コードをシステムがアルテラ FPGA
にロードするハードウェア・コンフィギュレーション・ファイルに変換する
• AOCL ユーティリティ、これは診断テストの実行といった上位レベル・タスクを行うために
呼び出す命令のセットを含む
• ホスト・ランタイム、これは OpenCL ホスト・アプリケーションに OpenCL ホスト・プラッ
トフォーム API およびランタオム API を提供する
ホスト・ランタイムは、 OpenCL API、ハードウェア抽象化、およひヘルパー・ライブラリを
提供するライブラリで構成されています。
ドライバ、ライブラリとファイル
ソフトウェアのインストール・プロセスにより、ご使用のディレクトリに AOCL がインストー
ルされます。ALTERAOCLSDKROOT 環境変数は、この AOCL インストール・ディレクトリへの
パスを参照します。
表 1-1: AOCL インストール・ディレクトリの選択コンテンツ
Windows フォル
ダ
Linux ディレク
トリ
bin
bin
board
board
概要
AOCL のユーザー・コマンドです。PATH 環境変数設定にこのデ
ィレクトリを含めます。
ソフトウェアで使用可能な AOCL カスタム・プラットフォーム・
ツールキットおよびリファレンス・プラットフォームです。
• カスタム・プラットフォーム・ツールキットへのパスを以下
に示します。
ALTERAOCLSDKROOT/board/custom_platform_toolkit
ip
ip
host
host
アルテラ SDK for OpenCL スタート・ガイド
フィードバック
デバイス・カーネルのコンパイルに使用する IP(Intellectual
Property)コアです。
ホスト・アプリケーションのコンパイルおよび動作に必要なファ
イルです。
Altera Corporation
1-4
UG-OCL001
2015.11.02
アルテラ SDK for OpenCL セットアップ・プロセスの概要
Windows フォル
ダ
host\include
Linux ディレク
トリ
host/include
概要
ホスト・アプリケーションのコンパイルおよびリンクに必要な
OpenCL Specification version 1.0 ヘッダ・ファイルおよびソフトウ
ェア・インタフェースファイルです。
host/include/CL サブディレクトリには C++ヘッダ・ファイル cl.hpp
も含まれています。このファイルは OpenCL version 1.1 C++ラッ
パー API を提供します。これらの C++バインディングにより、C
++ホスト・プログラムがネイティブ C++クラスおよびメソッド
を使用する OpenCL ランタイム API にアクセスできます。
重要: OpenCL version 1.1 C++バインディングは OpenCL
Specification version 1.0 および 1.1 と互換します。
開発環境でこのパスを include ファイル検索パスに含めます。
host\
windows64\lib
host/linux64/lib
OpenCL プラットフォームおよびランタイム API を提供する、
OpenCL ホスト・ランタイム・ライブラリです。これらのライブ
ラリはホスト・アプリケーションのリンクに必要です。
Linux で OpenCL アプリケーションを動作させるには、このディ
レクトリを LD_LIBRARY_PATH 環境変数設定に含めます。
host\
host/linux64/bin
windows64\bin
該当する場合に、ホスト・アプリケーションの動作に必要なラン
タイム・コマンドおよびライブラリです。64 ビット Windows シ
ステムでは、このディレクトリを PATH 環境変数設定に含めま
す。
Windows システムでは、このフォルダにランタイム・ライブラリ
が入ります。
Linux システムでは、このディレクトリに aocl ユーティリテ
ィ・コマンド向けの、プラットフォームに特化したバイナリが入
ります。
share
share
アーキテクチャに依存しないサポート・ファイルです。
OpenCL アプリケーション例
アルテラ・ウェブサイトの OpenCL デザイン例のページから OpenCL アプリケーション例をダウ
ンロードできます。
関連情報
OpenCL Design Examples page on the Altera website
アルテラ SDK for OpenCL セットアップ・プロセスの概要
この Altera SDK for OpenCL スタート・ガイド では、 アルテラ SDK for OpenCL のインストールお
よび FPGA プログラミングの手順を紹介します。
以下の図は、必要なソフトウェアの設定および FPGA ボードのインストール手順をまとめいてい
ます。
Altera Corporation
アルテラ SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
アルテラ SDK for OpenCL セットアップ・プロセスの概要
1-5
図 1-1: AOCL インストール手順の概要
要件を確認する
HW、SW、
OSが要件を
満たすか?
要件を満たす
HW、SW、OSを
用意する
NO
YES
altera.co.jpからtarファイルをダウンロード
(tarファイルにはAOCL、Quartus Prime
ソフトウェア、デバイス・サポートが含まれる)
1. tarファイルを解凍する
2. setup.bat|shおよび
setup_pro.bat|shを実行
NO
aocl version YES カスタム・プラットフォームを
が実行されたか?
ダウンロードしインストール
FPGAボードをインストール
(aocl install)
凡例
手順
判定
aocl
diagnose
<device_name>
をパスしたか?
YES
NO
altera.co.jpから
hello_worldを
ダウンロード
ソフトウェアとハードウェアの初期設定完了後に、hello_world OpenCL デザイン例からハードウ
ェア・イメージを作成できます。
重要: FPGA をハードウェア・イメージでプログラミングする前に、FPGA が最新の AOCL を用
いて作成されたイメージを有することを確認してください。詳しくは、FPGA のハードウ
ェア・イメージの更新を参照してください。
以下の図は、FPGA をプログラミングするための手順をまとめています。
アルテラ SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
1-6
UG-OCL001
2015.11.02
アルテラ SDK for OpenCL セットアップ・プロセスの概要
図 1-2: FPGA プログラミングの概要
hello_world OpenCL例を解凍
凡例
手順
AOCL_BOARD_PACKAGE_ROOT および
QUARTUS_ROOTDIR_OVERRIDE の設定を確認
判定
ファイル
使用するFPGAボードを選択(aoc --list-boards)
エミュレーション向けにカーネルをコンパイル
(aoc -march=emulator -v --board<board_name>
device/hello_world.cl -o bin/hello_world_emulation.aocx)
hello_world_emulation.aocx
エミュレーション向けに
hello_world実行ファイルを実行
ホスト・アプリをビルド
YES
ビルドが成功したか?
NO
以下を確認:
1. ホスト・アプリが正しく
ビルドされたか
2. ライブラリへのリンク・パス
必要に応じてデバック、修正
使用するボード向けにカーネルをコンパイル
(aoc -v --board <board_name> device/hello_world.cl -o bin/hello_world.aocx)
注:-cオプションをaoc
コマンド(aoc -c -v --board
hello_world.aoco hello_world.aocx
<board_name> device/
hello_world.cl -o bin/
hello_worldホスト実行可能 hello_world.aoco)に加えると、
ファイルを実行し、ボード上で
hello_world.aocxを実行
AOCはhello_world.aoco
のみを生成します。
関連情報
• 2-12 ページの FPGA のハードウェア・イメージの更新
• 3-11 ページの FPGA のハードウェア・イメージの更新
Altera Corporation
アルテラ SDK for OpenCL スタート・ガイド
フィードバック
Windows 向け アルテラ SDK for OpenCL スタ
ート・ガイド
2015.11.02
UG-OCL001
更新情報
2
フィードバック
アルテラ SDK for OpenCL セットアップ・プロセスには、ソフトウェアのダウンロードとインス
トール、FPGA ボードのインストール、ならにび FPGA での OpenCL カーネルの実行までが含ま
れます。
1. 2-2 ページの アルテラ SDK for OpenCL のダウンロード
アルテラ・ウェブサイトのダウンロード・センターから、Windows 向け アルテラ SDK for
OpenCL および関連するすべてのソフトウェアが含まれているインストレーション・パッケー
ジをダウンロードします。
2. 2-2 ページの アルテラ SDK for OpenCL のインストール
Windows バージョンの アルテラ SDK for OpenCL をフォルダにインストールします。
3. 2-3 ページの アルテラ SDK for OpenCL ユーザー環境変数の設定
アルテラ SDK for OpenCL Windows ユーザー環境変数を恒常的にセットするか一時的にする
かの選択が可能です。
4. 2-5 ページの ソフトウェア・インストレーションの確認
version ユーティリティ・コマンドを呼び出すよとにより、正しいバージョンのアルテラ
SDK for OpenCL がインストールされていることを確認できます。
5. 2-5 ページの ソフトウェア・ラインセンスの取得
アルテラのライセンス・センターでアルテラ SDK for OpenCL ライセンスを取得します。
6. 2-6 ページの FPGA ボードのインストール
7. 2-7 ページの エミュレーションによるホスト・ランタイムの機能性の検証
アルテラ SDK for OpenCL Emulator を用いて OpenCL デザイン例をエミュレーションするこ
とにより、ホスト・ランタイムの機能性をテストします。
8. 2-10 ページの OpenCL カーネルの FPGA ハードウェア・コンフィギュレーション・ファイ
ルの作成
hello_world.aocx AOC 実行可能ファイルを作成するために、アルテラ Offline Compiler を使用し
て hello_world カーネル・プログラムをコンパイルします。
9. 2-12 ページの FPGA のハードウェア・イメージの更新
該当する場合には、FPGA で OpenCL カーネル・プログラムを実行する前に、FPGA のフラッ
シュ・メモリが最新バージョンの OpenCL ソフトウェアを使用して作成したハードウェア・
イメージを格納していることを確認します。
10.2-14 ページの FPGA での OpenCL カーネルの実行
Microsoft Visual Studio バージョン 2010 Professional で OpenCL ホスト・アプリケーションをビ
ルドし、hello_world.exe 実行可能ファイルを呼び出すことによりアプリケーションを動作させ
ます。
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
登録済
2-2
UG-OCL001
2015.11.02
アルテラ SDK for OpenCL のダウンロード
11.2-16 ページの ソフトウェアのアンインストール
Windows で アルテラ SDK for OpenCL をアンインストールするには、アンインストーラを実
行し、これまでの設定向けに変更したすべての環境変数を元に戻します。
12.2-16 ページの FPGA ボードのアンインストール
Windows で FPGA ボードをアンインストールするには、uninstall ユーティリティ・コマ
ンドを呼び出し、カスタム・プラットフォームをアンインストールし、関係する環境変数の
設定を元に戻します。
アルテラ SDK for OpenCL のダウンロード
アルテラ・ウェブサイトのダウンロード・センターから、Windows 向け アルテラ SDK for OpenCL
および関連するすべてのソフトウェアが含まれているインストレーション・パッケージをダウン
ロードします。
ダウンロード・センターでは、以下のすべてのソフトウェアおよびファイルを含む AOCL-<version><build>-windows.tar ファイルを提供しています。
• AOCL
• Arria® 10 デバイス以外のデバイス向けに Quartus Prime スタンダード・エディション・ソフト
ウェア
• Arria 10 デバイス向けに Quartus Prime プロ・エディション・ソフトウェア
• デバイス・サポート
1. アルテラ・ウェブサイトのメインページで MYALTERA をクリックし、アカウントにログイ
ンします。
myAltera アカウントをお持ちでない場合は、アカウントを新規ご登録ください。
2. ダウンロードをクリックしてダウンロード・センターに移動します。
3. Altera SDKOpenCL 用をクリックして、AOCL サブスクリプション・エディションのダウンロ
ード・ページに移動します。
4. ソフトウェアのバージョンを選択します。デフォルトでは最新バージョンが選択されていま
す。
5. ダウンロード方法で Akamai DLM3 ダウンロード・マネージャかダイレクト・ダウンロードの
どちらかを選択します。
6. Windows SDK タブをクリックします。ダウンロードおよびインストール方法の横のもっと
表示をクリックして、タウンロードおよびインストールの手順を表示します。
7. ダウンロード・ボタンをクリックし、ダウンロード・プロセスを開始します。
8. ダウンロード・ページのダウンロードおよびインストール方法で表示された手順を実行しま
す。
関連情報
アルテラ・ウェブサイト
アルテラ SDK for OpenCL のインストール
ダウンロードした tar ファイルを解凍し、インストレーション・ファイルを実行して全てのソフ
トウェアとファイルをインストールします。
Altera Corporation
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
アルテラ SDK for OpenCL ユーザー環境変数の設定
2-3
Windows バージョンの アルテラ SDK for OpenCL をフォルダにインストールします。
はじめる前に
管理者権限を有している必要があります。
AOCL、 Quartus Prime ソフトウェア、デバイス・サポート・ファイルを同時にインストールす
るには、以下の手順を行います。
1. ダウンロードした AOCL-<version>-<build>-windows.tar ファイルを一時的なフォルダに解凍しま
す。
2. インストーラを実行します。アルテラは、 Quartus Prime ソフトウェアの両方のエディション
をインストールすることを推奨します。
a. setup.bat ファイルを実行し、 Quartus Prime スタンダード・エディション・ソフトウェアを
含む AOCL をインストールします。
b. setup_pro.bat ファイルを実行し、 Quartus Prime プロ・エディション・ソフトウェアを含む
AOCL をインストールします。
3. 注意: インストーラが、ソフトウェア・インストレーション・パスを指定するユーザー環境
変数 ALTERAOCLSDKROOT をセットします。
ALTERAOCLSDKROOT が最新バージョンのソフトウェアを指定していることを確認してくだ
さい。Windows コマンド・ウィンドウを開き、コマンド・プロンプトに echo
%ALTERAOCLSDKROOT%と入力します。
リターン・パスが AOCL インストレーションを指定していない場合には、
ALTERAOCLSDKROOT 設定を変更します。
環境変数設定の変更の手順について、詳しくは アルテラ SDK for OpenCL ユーザー環境変数の設
定を参照してください。
関連情報
2-3 ページの アルテラ SDK for OpenCL ユーザー環境変数の設定
アルテラ SDK for OpenCL ユーザー環境変数の設定
アルテラ SDK for OpenCL Windows ユーザー環境変数を恒常的にセットするか一時的にするかの
選択が可能です。環境変数設定は、ソフトウェアに対して FPGA ボードとホスト・ランタイムを
記述します。
注意: 環境変数を恒常的にセットする場合は、インストール時に一度、設定の適用を行います。
環境変数を一時的にセットする場合には、インストール時およびそれ以降に実行するすべ
てのセッションで、設定の適用を行う必要があります。
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
2-4
UG-OCL001
2015.11.02
アルテラ SDK for OpenCL ユーザー環境変数の設定
表 2-1: アルテラ SDK for OpenCL Windows ユーザー環境変数設定
環境変数
PATH
含めるパス
1. %ALTERAOCLSDKROOT%\bin
2. %ALTERAOCLSDKROOT%\host\windows64\bin
ALTERAOCLSDKROOT がソフトウェア・インストレーションのパス
を指定している場合
• 恒常的な環境変数設定を適用するには、以下の手順を行います。
1. Windows Start menu > Control Panel をクリックします。
(Windows 8.1 では Control Panel ア
プリケーションを開きます)
2. System and Security > System をクリックします。
3. System ウィンドウで Advanced system settings をクリックします。
4. System Properties ダイアログ・ボックスで Advanced タブをクリックします。
5. Environment Variables をクリックします。
Environment Variables ダイアログ・ボックスが表示されます。
6. 既存の環境変数設定を変更するには User variables for <user_name>の下で変数を選択して
から Edit をクリックします。Edit User Variable ダイアログ・ボックス・ボックスで
Variable value フィールドに環境変数設定を入力します。
7. 新しい環境変数を追加する場合には、User variables for <user_name>の下で New をクリッ
クします。New User Variable ダイアログ・ボックス・ボックスで Variable name フィール
ドと Variable value フィールドに環境変数名と設定をそれぞれ入力します。
環境変数に複数の設定がある場合には、それぞれの設定を区切るためにセミコロンを用いま
す。
• 一時的な環境変数設定を適用する場合には、コマンド・ウィンドウを開き%ALTERAOCLSDKROOT
%\init_opencl.bat スクリプトを実行します。
以下にスクリプトの出力例を示します。
AOCL_BOARD_PACKAGE_ROOT path is not set in environment
Setting to default s5_ref board.
If you want to target another board, do
set AOCL_BOARD_PACKAGE_ROOT=board_pkg_dir
and re-run this script
Adding %ALTERAOCLSDKROOT%\bin to PATH
Adding %ALTERAOCLSDKROOT%\host\windows64\bin to PATH
Adding %AOCL_BOARD_PACKAGE_ROOT%\windows64\bin to PATH
上記は AOCL_BOARD_PACKAGE_ROOT が Custom または Reference Platform のパスを指して
いる場合の例です。
スクリプトの実行は、現在のコマンド・ウィンドウにのみ影響します。このス
クリプトは以下のタスクを行います。
init_opencl.bat
• Microsoft Visual Studio インストレーションの検出
• LIB 環境変数を適切にセットするために Microsoft Visual Studio 環境をインポート
• PATH 環境変数が Microsoft LINK.EXE ファイルへのパスを含むことの確認
Altera Corporation
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
ソフトウェア・インストレーションの確認
2-5
ソフトウェア・インストレーションの確認
version ユーティリティ・コマンドを呼び出すよとにより、正しいバージョンのアルテラ SDK
for OpenCL がインストールされていることを確認できます。
• コマンド・プロンプトで aocl version ユーティリティ・コマンドを呼び出します。
以下に示すような出力によりインストールの成功を通知します。
aocl <version>.<build> (Altera SDK for OpenCL, Version <version> Build <build>,
Copyright (C) <year> Altera Corporation)
• インストールが失敗した場合には、ソフトウェアを再インストールしてください。詳しくは、
Altera Software Installation and Licensing マニュアルおよびアルテラ・ウェブサイトの Knowledge
Base を参照してください。
関連情報
• Altera Software Installation and Licensing
• アルテラ・ナレッジ・データベース
ソフトウェア・ラインセンスの取得
アルテラのライセンス・センターでアルテラ SDK for OpenCL ライセンスを取得します。
AOCL ライセンスを取得すると、Quartus Prime ソフトウェア・ライセンスを取得することなく、
このソフトウェアに関連する Quartus Prime ソフトウェアの機能およびデバイス・サポートにア
クセス可能です。
はじめる前に
ライセンス取得に関する選択肢や要件については、Altera Software Installation and Licensing マニュ
アルの Licensing Altera Software の項、各ソフトウェアに付属の LICENSE.txt ファイル、およびアル
テラ・ウェブサイトのアルテラ・ライセンスのページを参照してください。
1. アルテラ・ウェブサイトのメインページで MYALTERA をクリックし、アカウントにログイ
ンします。
2. ライセンス・センターをクリックします。
3. Altera Software Installation and Licensing の Using the Self-Service Licensing Center の項に示されて
いる手順に沿って、ライセンスを取得し有効化します。
4. すでに固定ライセンスを取得している場合には、以下に示す方法により <path_to_license_file>/
<license_filename> ファイルを LM_LICENSE_FILE 環境変数に追加します。
a. ライセンス・ファイルのバックアップ・コピーを作成します。
b. 新しいライセンス・ファイルを、ローカル・ハード・ドライブに保存します。
c. <path_to_license_file>/<license_filename> ファイルを LM_LICENSE_FILE 環境変数に追加します。
5. すでにフローティング・ライセンスを取得している場合には、以下に示す方法により
<path_to_license_file>/<license_filename> ファイルを LM_LICENSE_FILE 環境変数に追加します。
a. ポート番号とホスト名をネットワークまたはシステム管理者から取得します。この情報
はライセンス・ファイルの SERVER <hostname> <8 to 12 character host or NIC ID>
<port> の行にも記載されています。
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
2-6
UG-OCL001
2015.11.02
FPGA ボードのインストール
ユーザーのライセンスの保存場所は<port>@<hostname>です。ライセンス・ファイルにポ
ートがリストされていない場合は、@<hostname>を指定します。
b. ポート番号とホスト名を更新するために、ライセンス・ファイルを修正します。
c. <path_to_license_file>/<license_filename> ファイルを LM_LICENSE_FILE 環境変数設定に追加し
ます。
関連情報
•
•
•
•
アルテラ・ウェブサイトのアルテラ・ライセンス・ページ
Using the Self-Service Licensing Center
アルテラ・ウェブサイト
Licensing Altera Software
FPGA ボードのインストール
ボードのインストール手順を以下に示します。一部のカスタム・プラットホームでは、追加的な
インストール手順が必要な場合があります。ボードのインストールについて、詳しくはボード・
ベンダの資料を確認してください。
1. ボード・ベンダが案内する手順に従って、FPGA ボードをシステムに接続します。
2. ボード・ベンダのウェブサイトから、使用する FPGA ボード向けのカスタム・プラットフォ
ームをダウンロードします。アルテラ SDK for OpenCL Reference Platform(例:Altera Stratix® V
Network Reference Platform (s5_net))をダウンロードするには、アルテラ・ウェブサイトのア
ルテラ SDK for OpenCL ページで FPGA プラットフォームを参照してください。
3. カスタム・プラットフォームを任意のフォルダ(システム・フォルダではなく)にインスト
ールします。
4. 注意: %ALTERAOCLSDKROOT%\init_opencl.bat スクリプトを実行して AOCL ユーザー環境変数を設
定した場合、このスクリプトにより AOCL_BOARD_PACKAGE_ROOT がデフォルトで
%ALTERAOCLSDKROOT%\board\s5_ref を指定するようにセットされます。
ユーザー環境変数 AOCL_BOARD_PACKAGE_ROOT が board_env.xml ファイルを格納するカス
タム・プラットフォーム・サブフォルダを指定するようにセットします。
たとえば、s5_net 向けには AOCL_BOARD_PACKAGE_ROOT が <path_to_s5_net>\s5_net フォルダ
を指定するようにセットします。
5. QUARTUS_ROOTDIR_OVERRIDE ユーザー環境変数が、使用する Quartus Prime ソフトウェア
のインストール・ディレクトリを指定するようにセットします。
Arria 10 デバイスを使用する場合、QUARTUS_ROOTDIR_OVERRIDE が Quartus Prime プロ・エ
ディション・ソフトウェアのインストール・ディレクトリを指定するようにセットします。
それ以外の場合には、QUARTUS_ROOTDIR_OVERRIDE が Quartus Prime スタンダード・エデ
ィション・ソフトウェアのインストール・ディレクトリを指定するようにセットします。
6. PATH 環境変数設定に、カスタム・プラットフォーム・ライブラリ(例:MMD(memorymapped)ライブラリ)へのパスを追加します。
たとえば s5_net を使用する場合には、Windows の PATH 環境変数設定
は%AOCL_BOARD_PACKAGE_ROOT%\windows64\bin です。
ユーザー環境変数の設定および init_opencl スクリプトの実行について、詳しくは アルテラ
SDK for OpenCL ユーザー環境変数の設定の項を参照してください。
Altera Corporation
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
エミュレーションによるホスト・ランタイムの機能性の検証
2-7
7. 注意: ボードのインストールには管理者権限が必要です。管理者として Windows コマンド・
プロンプトを実行するには、Start > All Programs > Accessories をクリックします。次
に、Accessories の下の Command Prompt を右クリックし、表示されたメニューの Run
as Administrator をクリックします。
コマンド・プロンプトで aocl install を呼び出します。
aocl install を呼び出すことにより、ホスト・アプリケーションとハードウェア・カー
ネル・プログラムが通信するためのボード・ドライバもインストールされます。
8. 使用するマシンにインストールされた FPGA デバイスのリストを照会するには、 aocl
diagnose コマンドを呼び出します。
ソフトウェアが、acl0 から acl31 までの acl 番号で表示される<device_name>を含む出力を生成
します。
アクセラレータ・ボードの<device_name>の照会について、詳しくは FPGA ボードのデバイス
名の照会の項を参照してください。
9. FPGA ボードが正常にインストールされていることを確認するには、 aocl diagnose
<device_name> コマンドを呼び出し、ボード・ベンダが推奨する任意の診断テストを実行
します。
関連情報
•
•
•
•
Installing the Cyclone V SoC Development Kit
2-12 ページの FPGA ボードのデバイス名の照会
アルテラ・ウェブサイトのアルテラ SDK for OpenCL FPGA プラットフォーム・ページ
2-3 ページの アルテラ SDK for OpenCL ユーザー環境変数の設定
エミュレーションによるホスト・ランタイムの機能性の検証
アルテラ SDK for OpenCL Emulator を用いて OpenCL デザイン例をエミュレーションすることに
より、ホスト・ランタイムの機能性をテストします。
はじめる前に
1. カスタムまたはリファレンス・プラットフォームをインストールします。これは、エミュレ
ーションが特定の FPGA ボードを対象とするためです。
2. AOCL_BOARD_PACKAGE_ROOT 環境変数が、カスタムまたはリファレンス・プラットフォー
ム内の board_env.xml ファイルの位置を指定していることを確認します。Windows コマンド・
ウィンドウを開き、コマンド・プロンプトに echo %AOCL_BOARD_PACKAGE_ROOT%と入力
します。
3. QUARTUS_ROOTDIR_OVERRIDE 環境変数が正しい Quartus Prime ソフトウェアのエディショ
ンを指定していることを確認します。Windows コマンド・ウィンドウを開き、コマンド・プ
ロンプトに echo %QUARTUS_ROOTDIR_OVERRIDE%と入力します。
Quartus Prime ソフトウェアのインストレーション・フォルダへのパスが返されない場合には、
これを QUARTUS_ROOTDIR_OVERRIDE 設定に加えます。
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
2-8
UG-OCL001
2015.11.02
OpenCL デザイン例のダウンロード
• Arria 10 以外のデバイス向けには、QUARTUS_ROOTDIR_OVERRIDE は Quartus Prime スタ
ンダード・エディション・ソフトウェアのインストレーション・フォルダを指定します。
• Arria 10 デバイス向けには QUARTUS_ROOTDIR_OVERRIDE は、 Quartus Prime プロ・エデ
ィション・ソフトウェアのインストレーション・フォルダを指定します。
4. PATH ユーザー環境変数設定に、Microsoft Visual Studio の LINK.exe ファイルへのパスを追加し
ます。
5. LIB ユーザー環境変数設定に、Microsoft Visual Studio の Microsoft compilation time ライブラリ
へのパスを追加します。
1. 2-8 ページの OpenCL デザイン例のダウンロード
アルテラ・ウェブサイトの OpenCL Design Examples ページでは、ダウンロードして FPGA で
動作させることができる、多様なコンプレクシティのサンプル・アプリケーションを提供し
ています。
2. 2-8 ページの エミュレーション用カーネルのコンパイル
エミュレーション用 OpenCL カーネルをコンパイルするために、aoc コマンドに march=emulator オプションを含めます。
3. 2-9 ページの ホスト・アプリケーションのビルド
<path_to_exm_opencl_hello_world_x64_windows_<version>>\hello_world\hello_world.sln ファイルにはホス
ト・ソリューションが含まれています。Microsoft Visual Studio の.sln ファイルでこれを開いて
から、main.cpp ファイル内に OpenCL ホスト・アプリケーションをビルドします。
4. 2-9 ページの OpenCL カーネルのエミュレーション
OpenCL カーネルをエミュレーションするには、使用するカーネルにビルドしたプラットフォ
ーム上で.aocx エミュレーション・ファイルを実行します。
OpenCL デザイン例のダウンロード
アルテラ・ウェブサイトの OpenCL Design Examples ページでは、ダウンロードして FPGA で動
作させることができる、多様なコンプレクシティのサンプル・アプリケーションを提供していま
す。
以下に Hello World デザインをダウンロードする場合の手順を示します。
1. アルテラ・ウェブサイトの OpenCL Design Examples ページで Basic Examples の下の Hello
World をクリックします。
2. Hello World Design Example ページで Downloads の下の <version> x64 Windows package (.zip)
をクリックし、使用するプラットフォーム用の圧縮ファイルをダウンロードします。
3. exm_opencl_hello_world_x64_windows_<version>.zip ファイルを、書き込みアクセス可能なフォルダ
内に解凍および保存します。
関連情報
OpenCL Design Examples page on the Altera website
エミュレーション用カーネルのコンパイル
エミュレーション用 OpenCL カーネルをコンパイルするために、aoc コマンドに march=emulator オプションを含めます。
Altera Corporation
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
ホスト・アプリケーションのビルド
2-9
• 使用する FPGA ボード向けにカーネルをコンパイルするには、コマンド・プロンプトで
hello_world デザインに移動し、次に以下のコマンドを呼び出します。
aoc -march=emulator-v --board <board_name> device/hello_world.cl -o
bin/hello_world_emulation.aocx
アルテラ Offline Compiler が hello_world.cl カーネル・ソース・ファイルをコンパイルし、bin サ
ブディレクトリにエミュレーションに特化した hello_world_emulation.aocx AOC 実行可能ファイ
ルを作成します。
ホスト・アプリケーションのビルド
ファイルにはホス
ト・ソリューションが含まれています。Microsoft Visual Studio の.sln ファイルでこれを開いてか
ら、main.cpp ファイル内に OpenCL ホスト・アプリケーションをビルドします。
<path_to_exm_opencl_hello_world_x64_windows_<version>>\hello_world\hello_world.sln
ホスト・アプリケーションをビルドするには、以下のステップを行います。
1. Microsoft Visual Studio で <path_to_exm_opencl_hello_world_x64_windows_<version>>\hello_world\hello_
world.sln ファイルを開きます。
2. ビルド設定を確認します。デフォルトのビルド設定は Debug ですが、Release も使用できま
す。ソリューション・プラットフォームとして適切なオプションを選択する(たとえば、x64
アーキテクチャでは x64 を選択)必要があります。
3. Build > Build Solution メニュー・オプションを選択するか、F7 キーを押すことにより、ソリ
ューションをビルドします。
hello_world.exe 実行可能ファイルが <path_to_exm_opencl_hello_world_x64_windows_<version>>\hello_
world\bin フォルダ内に作成されます。
4. 正常にビルドされたことを確認します。出力の末尾が以下に示すようなメッセージで終わっ
ていれば、ビルドが成功しています。
1> Build succeeded.
1>
1> Time Elapsed 00:00:03:29
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
注意: 警告 LNK4009: PDB ‘vc90.pdb’ was not found with...は、ビルドに影響を
与えないので無視することができます。以前のバージョンの Microsoft Visual Studio を
使用して Windows ライブラリをビルドした場合に、コンパイラがこの種の警告を表示
することがあります。
OpenCL カーネルのエミュレーション
OpenCL カーネルをエミュレーションするには、使用するカーネルにビルドしたプラットフォー
ム上で.aocx エミュレーション・ファイルを実行します。
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
2-10
OpenCL カーネルの FPGA ハードウェア・コンフィギュレーション・ファイルの作
成
UG-OCL001
2015.11.02
カーネルをエミュレーションするには、以下のステップを行います。
1. ユーティリティ・コマンド aocl linkflags を実行し、ホスト・アプリケーションをビル
ドするためにどのライブラリが必要かを調べます。ソフトウェアが、エミュレーションおよ
び通常のカーネル・コンパイル・フロー両方のライブラリをリストします。
2. ホスト・アプリケーションを、 aocl linkflags ユーティリティ・コマンドにより返され
たライブラリにリンクします。
3. hello_world_emulation.aocx ファイルを現在使用している作業ディレクトリに移し、ホストがこれ
を容易に見つけることができるようにします。
4. ホスト・アプリケーションをエミュレーションで動作させるには、 env
CL_CONTEXT_EMULATOR_DEVICE_ALTERA=<number_of_devices>
<host_application_filename> コマンドを呼び出します。
このコマンドは、エミュレータが提供する必要がある同一のエミュレーション・デバイスの
数を特定します。
エミュレートされたカーネルを呼び出す度に、共有ライブラリのコピーである <process_ID>がデフォルトの一時的ディレクトリに作成されます。この<process_ID>は、各エミュ
レーションの実行に対して割り当てられた固有の数値です。デフォルトのディレクトリは、
Windows では TMP または TEMP 環境変数の設定により、Linux では TMPDIR の設定により変更
することができます。
libkernel.so
OpenCL カーネルの FPGA ハードウェア・コンフィギュレーション・フ
ァイルの作成
Windows バージョンの hello_world OpenCL デザイン例を、アルテラ・ウェブサイトの OpenCL
Design Examples ページからダウンロードします。 hello_world.aocx AOC 実行可能ファイルを作成
するために、アルテラ Offline Compiler を使用して hello_world カーネル・プログラムをコンパイ
ルします。 .aocx ファイルは、FPGA ハードウェア・コンフィギュレーション・ファイルです。
FPGA ボードの正常なインストール、およびカーネルのエミュレート後に、デバイスで動作させ
る.aocx を作成します。以下に、hello_world デザイン例から.aocx ファイルを作成する手順を示し
ます。OpenCL デザイン例について、詳しくはアルテラ・ウェブサイトの OpenCL Design Examples
ページを参照してください。
1. 注意: AOC は使用する FPGA ボード向けに OpenCL カーネルをコンパイルします。ハードウ
ェア・コンフィギュレーション・ファイルを作成する前に、FPGA ボードをインストー
ルしておく必要があります。まだ FPGA ボードをインストールしていない場合には、
FPGA ボードのインストールで手順を確認してください。
環境変数 AOCL_BOARD_PACKAGE_ROOT が、board_env.xml ファイルを格納するカスタム・プ
ラットフォーム内のローカル・サブフォルダを指定していることを確認します。Windows コ
マンド・ウィンドウを開き、コマンド・プロンプトに echo %AOCL_BOARD_PACKAGE_ROOT
%と入力します。
AOCL_BOARD_PACKAGE_ROOT がセットされていない、もしくは返されたパスが使用する
FPGA ボードのカスタム・プラットフォームを指定していない場合には、
Altera Corporation
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
OpenCL カーネルの FPGA ハードウェア・コンフィギュレーション・ファイルの作
成
2-11
AOCL_BOARD_PACKAGE_ROOT 環境変数設定をリセットします。詳しい手順については、ア
ルテラ SDK for OpenCL ユーザー環境変数の設定を参照してください。
2. QUARTUS_ROOTDIR_OVERRIDE 環境変数が正しい Quartus Prime ソフトウェアのエディショ
ンを指定していることを確認します。Windows コマンド・ウィンドウを開き、コマンド・プ
ロンプトに echo %QUARTUS_ROOTDIR_OVERRIDE%と入力します
Quartus Prime ソフトウェアのインストレーション・フォルダへのパスが返されない場合には、
QUARTUS_ROOTDIR_OVERRIDE 設定にこれを加えます。
• Arria 10 以外のデバイス向けには、QUARTUS_ROOTDIR_OVERRIDE は Quartus Prime スタ
ンダード・エディション・ソフトウェアのインストレーション・フォルダを指定します。
• Arria 10 デバイス向けには、QUARTUS_ROOTDIR_OVERRIDE は Quartus Prime プロ・エデ
ィション・ソフトウェアのインストレーション・フォルダを指定します。
3. 使用する FPGA ボードを選択します。カスタム・プラットフォームで使用可能な FPGA ボー
ドのリストを表示するには、コマンド・プロンプトで aoc --list-boards コマンドを呼
び出します。
aoc コマンドの--list-boards オプションについて、詳しくは Altera SDK for OpenCL
Programming Guide の Listing the Available FPGA Boards in Your Custom Platform (--list-boards)の
項を参照してください。
4. コマンド・プロンプトで、エミュレーションに使用した hello_world.cl ファイルを含む
hello_world デザイン・フォルダに移動します。
5. 使用する FPGA ボード向けカーネルをコンパイルするために、以下のコマンドを呼び出しま
す。
aoc -v --board <board_name> device/hello_world.cl -o bin/
hello_world.aocx
このコマンドは、以下のタスクを実行します。
•
•
•
•
•
•
OpenCL ソース・コードから Quartus Prime デザイン・プロジェクト・ファイルを生成する
初期シンタックス・エラーのチェック
基本的な最適化の実行
必要な中間ファイルを含む hello_world フォルダの作成
.aoco(Altera Offline Compiler Object File)の作成
.aocx ファイルの作成
注意: カーネルの複雑さによっては.aocx ファイルのビルドに数時間かかる場合があります。
コンパイルの進行状況を画面上に表示するには、aoc コマンドに-v フラグを含めま
す。以下に出力の一例を示します。
aoc: Environment checks are completed successfully.
You are now compiling the full flow!!
aoc: Selected target board <board_name>
aoc: Running OpenCL parser....
aoc: OpenCL parser completed successfully.
aoc: Compiling....
aoc: Linking with IP library ...
aoc: First stage compilation completed successfully.
aoc: Setting up project for CvP revision flow....
aoc: Hardware generation completed successfully.
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
2-12
UG-OCL001
2015.11.02
FPGA のハードウェア・イメージの更新
コンパイル・プロセスが完了すると、AOC がライン aoc: Hardware generation
completed successfully.を表示します。
aoc コマンドの --board <board_name> オプションについて、詳しくは Altera SDK for
OpenCL Programming Guide の Compiling a Kernel for a Specific FPGA Board (--board <board_name>)
の項を参照してください。
aoc コマンドの-v オプションについて、詳しくは Altera SDK for OpenCL Programming Guide の
Generating Compilation Progress Report (-v)の項を参照してください。
aoc コマンドの -o <filename> オプションについて、詳しくは Altera SDK for OpenCL
Programming Guide の Specifying the Name of an AOC Output File (-o <filename>)の項を参照してくだ
さい。
関連情報
•
•
•
•
•
•
•
Listing the Available FPGA Boards in Your Custom Platform (--list-boards)
Compiling a Kernel for a Specific FPGA Board (--board <board_name>)
Generating Compilation Progress Report (-v)
Specifying the Name of an AOC Output File (-o <filename>)
OpenCL Design Examples page on the Altera website
2-3 ページの アルテラ SDK for OpenCL ユーザー環境変数の設定
2-6 ページの FPGA ボードのインストール
FPGA のハードウェア・イメージの更新
該当する場合には、FPGA で OpenCL カーネル・プログラムを実行する前に、FPGA のフラッシ
ュ・メモリが最新バージョンの OpenCL ソフトウェアを使用して作成したハードウェア・イメー
ジを格納していることを確認します。
注意: カスタム・プラットフォームが有効な OpenCL イメージのフラッシュ・メモリへのプリロ
ードを必要とする場合には、Quartus Prime Design Suite のメジャー・リリースごとに、最
新バージョンのソフトウェアと互換するハードウェア・イメージを FPGA のフラッシュ・
メモリにプログラミングします。
FPGA ボードのデバイス名の照会
一部のアルテラ SDK for OpenCL ユーティリティ・コマンドでは、デバイス名(<device_name>)
を指定する必要があります。<device_name>は、FPGA デバイスに対応する acl 番号(例:acl0~
acl31)を参照します。 アクセラレータ・ボードのリストを照会すると、AOCL が使用するマシ
ンにインストールされたデバイスの、デバイス名の順に並んだリストを生成します。
Altera Corporation
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
FPGA のフラッシュ・メモリのプログラミング
2-13
• 使用するマシンにインストールされたデバイスのリストを照会するには、コマンド・プロン
プトで aocl diagnose と入力します。
ソフトウェアが、以下に示す例のような出力を生成します。
aocl diagnose: Running diagnostic from ALTERAOCLSDKROOT/board/<board_name>/
<platform>/libexec
Verified that the kernel mode driver is installed on the host machine.
Using board package from vendor: <board_vendor_name>
Querying information for all supported devices that are installed on the host
machine ...
device_name
Status
Information
acl0
Passed
<descriptive_board_name>
PCIe dev_id = <device_ID>, bus:slot.func = 02:00.00,
at Gen 2 with 8 lanes.
FPGA temperature=43.0 degrees C.
acl1
Passed
<descriptive_board_name>
PCIe dev_id = <device_ID>, bus:slot.func = 03:00.00,
at Gen 2 with 8 lanes.
FPGA temperature = 35.0 degrees C.
Found 2 active device(s) installed on the host machine, to perform a full
diagnostic on a specific device, please run aocl diagnose <device_name>
DIAGNOSTIC_PASSED
FPGA のフラッシュ・メモリのプログラミング
アルテラ SDK for OpenCL デザイン例のハードウェア・イメージをデバイスのフラッシュ・メモ
リにロードすることにより、FPGA をコンフィギュレーションします。FPGA は、通電していな
い間もフラッシュ・メモリ内のハードウェア・コンフィギュレーション・ファイルを保持しま
す。システムに電源を投入した際に、FPGA 回路は、このフラッシュ・メモリのハードウェア・
イメージに基づいてコンフィギュレーションされます。したがって、OpenCL と互換するハード
ウェア・コンフィギュレーション・ファイルを、必ず FPGA のフラッシュ・メモリにロードして
おく必要があります。
また、多くのカスタム・プラットフォームでは、適切に機能するために OpenCL イメージをフラ
ッシュ・メモリへプリロードしておく必要があります。たとえば、ほとんどの PCIe ベースのボ
ードが、フラッシュ・メモリ内に有効な OpenCL イメージを必要とします。これにより、ホス
ト・システムが最初に電源投入された際に、ボード上のハードウェアがイメージを使用して
FPGA デバイスをコンフィギュレーションします。FPGA が有効な OpenCL イメージでコンフィ
ギュレーションされなければ、システムが PCIe エンドポイントの列挙に失敗するか、あるいは
ドライバが機能しなくなります。
いずれのデザインを動作させる前にも、ボードのフラッシュ・メモリが最新バージョンの
OpenCL ソフトウェアと互換する有効な OpenCL イメージを有していることを確認します。ボ
ード固有の要件については、使用するボードのベンダの資料を参照してください。
注意: ハードウェア・コンフィギュレーション・ファイルを FPGA のフラッシュ・メモリにロー
ドする際には、ロード処理が完了するまでシステムの通電を保ってください。ロードには
数分を要することがあります。また、OpenCL カーネルを呼び出す、あるいは、それ以外
でも FPGA ボードと通信するホスト・コードを起動しないでください。
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
2-14
UG-OCL001
2015.11.02
FPGA での OpenCL カーネルの実行
ハードウェア・コンフィギュレーション・ファイルを FPGA ボードのフラッシュ・メモリにロー
ドするには、以下のステップを行います。
1. カスタム・プラットフォームに必要なすべてのドライバとユーティリティをインストールし
ます。
たとえば、一部のカスタム・プラットフォームでは、フラッシュ・メモリにハードウェア・
コンフィギュレーション・ファイルをロードするために USB-Blaster™ドライバをインストー
ルする必要があります。インストール手順については USB-Blaster II Download Cable User
Guide を参照してください。
2. AOCL_BOARD_PACKAGE_ROOT 環境変数が、board_env.xml ファイルを格納するカスタム・プ
ラットフォーム内のサブフォルダを指定していることを確認します。Windows コマンド・ウ
ィンドウを開き、コマンド・プロンプトに echo %AOCL_BOARD_PACKAGE_ROOT%と入力し
ます。
返されたパスがカスタム・プラットフォーム内の board_env.xml ファイルの位置を指していな
い場合には、 アルテラ SDK for OpenCL ユーザー環境変数の設定の手順に従って、環境変数設
定を修正してください。
3. 使用するカスタム・プラットフォーム向けのデザイン例をダウンロードします。
注意: OpenCL Design Examples ページからデザイン例をダウンロードし、書き込みアクセスが
可能な位置にデザイン例を解凍します。
4. フラッシュ・メモリにハードウェア・コンフィギュレーション・ファイルをロードするため
に、 aocl flash <device_name> <example_design_filename>.aocx コマンドを
呼び出します。このコマンドの<device_name>には使用する FPGA デバイスに対応する acl 番
号(例:acl0~acl31)が入ります。また、 <example_design_filename>.aocx は、デザイン例パッケ
ージの <example_design_filename>.cl ファイルから作成するハードウェア・コンフィギュレーショ
ン・ファイルです。
5. デバイスあるいはコンピュータの電源を落としてから再投入します。
電源の再投入により、FPGA コンフィギュレーション・デバイスがフラッシュ・メモリからハ
ードウェア・コンフィギュレーション・ファイルを取得し、これで FPGA をコンフィギュレ
ーションすることを確実にします。
警告: 一部のカスタム・プラットフォームでは、フラッシュ・メモリのプログラミング後に
ホスト・システム全体に電源の再投入を行う必要があります。たとえば、PCIe ベース
のカスタム・プラットフォームでは、PCIe エンドポイントを再列挙するためにホスト・
システムの再起動が必要な場合があります。アルテラは、フラッシュ・メモリのプロ
グラミング後にホスト・システム全体の電源を再投入することを推奨します。
関連情報
• USB-Blaster II Download Cable User Guide
• OpenCL Design Examples page on the Altera website
• 2-3 ページの アルテラ SDK for OpenCL ユーザー環境変数の設定
FPGA での OpenCL カーネルの実行
Microsoft Visual Studio バージョン 2010 Professional で OpenCL ホスト・アプリケーションをビル
ドし、hello_world.exe 実行可能ファイルを呼び出すことによりアプリケーションを動作させます。
アルテラ SDK for OpenCL は、64 ビット・ホスト・バイナリとのみ互換しています。
Altera Corporation
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
ホスト・アプリケーションの実行
2-15
関連情報
2-9 ページの ホスト・アプリケーションのビルド
ホスト・アプリケーションの実行
FPGA で OpenCL カーネルを実行するために、Windows で.sln ファイルからビルドしたホスト・
アプリケーションを動作させます。
1. PATH 環境変数にパス%ALTERAOCLSDKROOT%\host\windows64\bin を加えます。
2. コマンド・プロンプトで <path_to_exm_opencl_hello_world_x64_windows_<version>>\hello_world\bin フ
ォルダ内のホスト実行可能ファイルに移動します。
3. hello_world.exe 実行可能ファイルを呼び出します。
hello_world 実行可能ファイルが、FPGA でカーネル・コードを実行します。
正常なカーネル実行からの出力
使用する FPGA で OpenCL カーネルを実行するためにホスト・アプリケーションを動作させた際
に、アルテラ SDK for OpenCL は正常なカーネル実行を通知します。
以下に出力の例を示します。
Found 1 OpenCL platforms.
Querying platform for info:
==========================
CL_PLATFORM_NAME
CL_PLATFORM_VENDOR
CL_PLATFORM_VERSION
= Altera SDK for OpenCL
= Altera Corporation
= OpenCL 1.0 Altera SDK for OpenCL, Version <version>
Querying device for info:
========================
CL_DEVICE_NAME
= <board_name> : <descriptive_board_name>
CL_DEVICE_VENDOR
= <board_vendor_name>
CL_DEVICE_VENDOR_ID
=
<board_vendor_ID>
CL_DEVICE_VERSION
= OpenCL 1.0 Altera SDK for OpenCL, Version <version>
CL_DRIVER_VERSION
= <version>
CL_DEVICE_ADDRESS_BITS
= 64
CL_DEVICE_AVAILABLE
= true
CL_DEVICE_ENDIAN_LITTLE
= true
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE
= 32768
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE
= 0
CL_DEVICE_GLOBAL_MEM_SIZE
= 0
CL_DEVICE_IMAGE_SUPPORT
= false
CL_DEVICE_LOCAL_MEM_SIZE
= 16384
CL_DEVICE_MAX_CLOCK_FREQUENCY
= 1000
CL_DEVICE_MAX_COMPUTE_UNITS
= 1
CL_DEVICE_MAX_CONSTANT_ARGS
= 8
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE
= 1073741824
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS
= 3
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS
= 1024
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE
= 128
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR
= 4
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT = 2
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT
= 1
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG
= 1
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT = 1
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE = 0
Command queue out of order?
= false
Command queue profiling enabled?
= true
Kernel initialization is complete.
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
2-16
UG-OCL001
2015.11.02
ソフトウェアのアンインストール
Launching the kernel...
Thread #2: Hello from Altera's OpenCL Compiler!
Kernel execution is complete.
ソフトウェアのアンインストール
Windows で アルテラ SDK for OpenCL をアンインストールするには、アンインストーラを実行
し、これまでの設定向けに変更したすべての環境変数を元に戻します。
1. Windows スタート・メニューのショートカットから、Altera <version> Standard Edition フォルダに
移動します。
2. Uninstall Quartus Prime Standard Edition を選択します。
アンインストール・ウィザードが表示されます。
3. アンインストール・ウィザードで、以下のステップを行います。
a. Individual components を選択して Next をクリックします。
b. Altera SDK for OpenCL を選択して Next をクリックします。
アンインストーラが AOCL をアンインストールします。
4. Quartus Prime プロ・エディション・ソフトウェアと関連付けられている AOCL をアンインス
トールするには、Altera <version> Pro Edition フォルダで Uninstall Quartus Prime Pro Edition を選
択し、アンインストール・ウィザードを開きます。
a. ステップ 3 を繰り返します。
5. PATH 環境変数から以下のパスを削除します。
a. %ALTERAOCLSDKROOT%\bin
b. %ALTERAOCLSDKROOT%\host\windows64\bin
6. ALTERAOCLSDKROOT 環境変数を削除します。
7. QUARTUS_ROOTDIR_OVERRIDE 環境変数を削除します。
FPGA ボードのアンインストール
Windows で FPGA ボードをアンインストールするには、uninstall ユーティリティ・コマンド
を呼び出し、カスタム・プラットフォームをアンインストールし、関係する環境変数の設定を元
に戻します。 OpenCL アプリケーションを異なるカスタム・プラットフォームに属する FPGA ボ
ードへ移行する場合には、必ず現在の FPGA ボードをアンインストールする必要があります。
FPGA ボードをアンインストールするには、以下のステップを行います。
1. ボード・ベンダが案内する手順に従って、使用しているマシンからボードを取り外します。
2. aocl uninstall ユーティリティ・コマンドを呼び出して、現在のホスト・コンピュータ・
ドライバを削除します(例:PCIe ドライバ)。 アルテラ SDK for OpenCL は、FPGA ボードと
通信するためにこれらのドライバを使用しています。
3. カスタム・プラットフォームをアンインストールします。
4. PATH 環境変数の設定を元に戻します。
5. AOCL_BOARD_PACKAGE_ROOT 環境変数の設定を元に戻します。
Altera Corporation
Windows 向け アルテラ SDK for OpenCL スタート・ガイド
フィードバック
Linux 向け Altera SDK for OpenCL スタート・ガ
イド
2015.11.02
UG-OCL001
更新情報
3
フィードバック
アルテラ SDK for OpenCL セットアップ・プロセスには、ソフトウェアのダウンロードとインス
トール、FPGA ボードのインストール、ならにび FPGA での OpenCL カーネルの実行までが含ま
れます。
1. 3-2 ページの アルテラ SDK for OpenCL のダウンロード
アルテラ・ウェブサイトのダウンロード・センターから、Linux 向け アルテラ SDK for OpenCL
および関連するすべてのソフトウェアが含まれているインストレーション・パッケージをダ
ウンロードします。
2. 3-3 ページの アルテラ SDK for OpenCL のインストール
Linux バージョンの アルテラ SDK for OpenCL をディレクトリにインストールします。
3. 3-3 ページの アルテラ SDK for OpenCL ユーザー環境変数の設定
アルテラ SDK for OpenCL Linux ユーザー環境変数を恒常的にセットするか一時的にするかの
選択が可能です。
4. 3-4 ページの ソフトウェア・インストレーションの確認
version ユーティリティ・コマンドを呼び出すよとにより、正しいバージョンのアルテラ
SDK for OpenCL がインストールされていることを確認できます。
5. 3-5 ページの ソフトウェア・ラインセンスの取得
アルテラのライセンス・センターでアルテラ SDK for OpenCL ライセンスを取得します。
6. 3-6 ページの FPGA ボードのインストール
install ユーティリティ・コマンドを呼び出して、ボードを Linux ホスト・システムにイン
ストールします。
7. 3-7 ページの エミュレーションによるホスト・ランタイムの機能性の検証
アルテラ SDK for OpenCL Emulator を用いて OpenCL デザイン例をエミュレーションするこ
とにより、ホスト・ランタイムの機能性をテストします。
8. 3-9 ページの OpenCL カーネルの FPGA ハードウェア・コンフィギュレーション・ファイ
ルの作成
hello_world.aocx AOC 実行可能ファイルを作成するために、アルテラ Offline Compiler を使用し
て hello_world カーネル・プログラムをコンパイルします。
9. 3-11 ページの FPGA のハードウェア・イメージの更新
該当する場合には、FPGA で OpenCL カーネル・プログラムを実行する前に、FPGA のフラッ
シュ・メモリが最新バージョンの OpenCL ソフトウェアを使用して作成したハードウェア・
イメージを格納していることを確認します。
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
登録済
3-2
アルテラ SDK for OpenCL のダウンロード
UG-OCL001
2015.11.02
10.3-13 ページの FPGA での OpenCL カーネルの実行
OpenCL ホスト・アプリケーションを Makefile ファイルによりビルドする必要があり、このア
プリケーションを hello_world 実行可能ファイルを呼び出すことにより動作させます。
11.3-15 ページの ソフトウェアのアンインストール
Linux で アルテラ SDK for OpenCL をアンインストールするには、GUI アンインストーラを介
してソフトウェア・パッケージを削除してから、ソフトウェア・ディレクトリを削除し、こ
れまでの設定向けに変更したすべての環境変数を元に戻します。
12.3-15 ページの FPGA ボードのアンインストール
Linux で FPGA ボードをアンインストールするには、uninstall ユーティリティ・コマンド
を呼び出し、カスタム・プラットフォームをアンインストールし、関係する環境変数の設定
を元に戻します。
アルテラ SDK for OpenCL のダウンロード
アルテラ・ウェブサイトのダウンロード・センターから、Linux 向け アルテラ SDK for OpenCL
および関連するすべてのソフトウェアが含まれているインストレーション・パッケージをダウン
ロードします。
ダウンロード・センターでは、以下のすべてのソフトウェアおよびファイルを含む AOCL-<version><build>-linux.tar ファイルを提供しています。
• AOCL
• Arria 10 デバイス以外のデバイス向けに Quartus Prime スタンダード・エディション・ソフト
ウェア
• Arria 10 デバイス向けに Quartus Prime プロ・エディション・ソフトウェア
• デバイス・サポート
1. アルテラ・ウェブサイトのメインページで MYALTERA をクリックし、アカウントにログイ
ンします。
myAltera アカウントをお持ちでない場合は、アカウントを新規ご登録ください。
2. ダウンロードをクリックしてダウンロード・センターに移動します。
3. Altera SDKOpenCL 用をクリックして、AOCL サブスクリプション・エディションのダウンロ
ード・ページに移動します。
4. ソフトウェアのバージョンを選択します。デフォルトでは最新バージョンが選択されていま
す。
5. ダウンロード方法でダイレクト・ダウンロードを選択します。
6. Linux SDK タブをクリックします。ダウンロードおよびインストール方法の横のもっと表示
をクリックして、タウンロードおよびインストールの手順を表示します。
7. ダウンロード・ボタンをクリックし、ダウンロード・プロセスを開始します。
8. ダウンロード・ページのダウンロードおよびインストール方法で表示された手順を実行しま
す。
関連情報
アルテラ・ウェブサイト
Altera Corporation
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
アルテラ SDK for OpenCL のインストール
3-3
アルテラ SDK for OpenCL のインストール
ダウンロードした tar ファイルを解凍し、インストレーション・ファイルを実行して全てのソフ
トウェアとファイルをインストールします。
Linux バージョンの アルテラ SDK for OpenCL をディレクトリにインストールします。
はじめる前に
1. sudo または root 権限を有している必要があります。
2. Linux OS カーネル・ソースとヘッダ(例:kernel-devel.x86_64 と kernel-headers.x86_64)および、
GCC(GNU Compiler Collection)(gcc.x86_64)をインストールする必要があります。
注意: ソフトウェアを、ディレクトリにいずれの.cshrc(C Shell Run Commands file)も.bashrc(Bash
Run Commands file)も含んでいないシステムにインストールする場合には、環境変数
ALTERAOCLSDKROOT と PATH を手動でセットする必要があります。または、.cshrc ファ
イルと.bashrc ファイルを作成してから環境変数をこれらに追加します。環境変数をセッ
トした後に、使用する端末をリスタートして更新が反映されていることを確認します。
AOCL、 Quartus Prime ソフトウェア、デバイス・サポート・ファイルを同時にインストールす
るには、以下の手順を行います。
1. ダウンロードした AOCL-<version>-<build>-linux.tar ファイルを一時的なディレクトリに解凍しま
す。
2. インストーラを実行します。アルテラは、 Quartus Prime ソフトウェアの両方のエディション
をインストールすることを推奨します。
a. setup.sh ファイルを実行し、 Quartus Prime スタンダード・エディション・ソフトウェアを
含む AOCL をインストールします。
b. setup_pro.sh ファイルを実行し、 Quartus Prime プロ・エディション・ソフトウェアを含む
AOCL をインストールします。
3. 注意: インストーラが、ソフトウェア・インストレーション・パスを指定する環境変数
ALTERAOCLSDKROOT をセットします。
ALTERAOCLSDKROOT が最新バージョンのソフトウェアを指定していることを確認してくだ
さい。シェルを開き、コマンド・プロンプトに echo $ALTERAOCLSDKROOT と入力します。
リターン・パスが AOCL インストレーションを指定していない場合には、
ALTERAOCLSDKROOT 設定を変更します。
環境変数設定の変更の手順について、詳しくは アルテラ SDK for OpenCL ユーザー環境変数の設
定を参照してください。
関連情報
3-3 ページの アルテラ SDK for OpenCL ユーザー環境変数の設定
アルテラ SDK for OpenCL ユーザー環境変数の設定
アルテラ SDK for OpenCL Linux ユーザー環境変数を恒常的にセットするか一時的にするかの選
択が可能です。環境変数設定は、ソフトウェアに対して FPGA ボードとホスト・ランタイムを記
述します。
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
3-4
UG-OCL001
2015.11.02
ソフトウェア・インストレーションの確認
注意: 環境変数を恒常的にセットする場合は、インストール時に一度、設定の適用を行います。
環境変数を一時的にセットする場合には、インストール時およびそれ以降に実行するすべ
てのセッションで、設定の適用を行う必要があります。
表 3-1: アルテラ SDK for OpenCL Linux ユーザー環境変数設定
環境変数
PATH
含めるパス
$ALTERAOCLSDKROOT/bin
ALTERAOCLSDKROOT がソフトウェア・インストレーションのパス
を指定している場合
LD_LIBRARY_PATH
$ALTERAOCLSDKROOT/host/linux64/lib
$AOCL_BOARD_PACKAGE_ROOT/linux64/lib
AOCL_BOARD_PACKAGE_ROOT がカスタムまたはリファレンス・プ
ラットフォームへのパスを指定している場合
• 恒常的な環境変数設定を適用するには、シェルを開き、export <variable_name>=」
<variable_setting>」<variable_setting>」:$<variable_name> コマンドを入力
します。
たとえば、コマンド export PATH=」$ALTERAOCLSDKROOT/bin」
ALTERAOCLSDKROOT/bin」:$PATH は、PATH 設定のリストに$ALTERAOCLSDKROOT/bin を追加
します。
• 一時的な環境変数設定を適用する場合には、コマンド・ライン端末を開き source
$ALTERAOCLSDKROOT/init_opencl.sh コマンドを実行します。
以下にスクリプトの出力例を示します。
AOCL_BOARD_PACKAGE_ROOT path is not set in environment
Setting to default s5_ref board.
If you want to target another board, do
set AOCL_BOARD_PACKAGE_ROOT=board_pkg_dir
Adding $ALTERAOCLSDKROOT/bin to PATH
Adding $ALTERAOCLSDKROOT/host/linux64/lib to LD_LIBRARY_PATH
Adding $AOCL_BOARD_PACKAGE_ROOT/linux64/lib to LD_LIBRARY_PATH
ソフトウェア・インストレーションの確認
version ユーティリティ・コマンドを呼び出すよとにより、正しいバージョンのアルテラ SDK
for OpenCL がインストールされていることを確認できます。
• コマンド・プロンプトで aocl version ユーティリティ・コマンドを呼び出します。
以下に示すような出力によりインストールの成功を通知します。
aocl <version>.<build> (Altera SDK for OpenCL, Version <version> Build <build>,
Copyright (C) <year> Altera Corporation)
• インストールが失敗した場合には、ソフトウェアを再インストールしてください。詳しくは、
Altera Software Installation and Licensing マニュアルおよびアルテラ・ウェブサイトの Knowledge
Base を参照してください。
Altera Corporation
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
ソフトウェア・ラインセンスの取得
3-5
関連情報
• Altera Software Installation and Licensing
• アルテラ・ナレッジ・データベース
ソフトウェア・ラインセンスの取得
アルテラのライセンス・センターでアルテラ SDK for OpenCL ライセンスを取得します。
AOCL ライセンスを取得すると、Quartus Prime ソフトウェア・ライセンスを取得することなく、
このソフトウェアに関連する Quartus Prime ソフトウェアの機能およびデバイス・サポートにア
クセス可能です。
はじめる前に
ライセンス取得に関する選択肢や要件については、Altera Software Installation and Licensing マニュ
アルの Licensing Altera Software の項、各ソフトウェアに付属の LICENSE.txt ファイル、およびアル
テラ・ウェブサイトのアルテラ・ライセンスのページを参照してください。
1. アルテラ・ウェブサイトのメインページで MYALTERA をクリックし、アカウントにログイ
ンします。
2. ライセンス・センターをクリックします。
3. Altera Software Installation and Licensing の Using the Self-Service Licensing Center の項に示されて
いる手順に沿って、ライセンスを取得し有効化します。
4. すでに固定ライセンスを取得している場合には、以下に示す方法により <path_to_license_file>/
<license_filename> ファイルを LM_LICENSE_FILE 環境変数に追加します。
a. ライセンス・ファイルのバックアップ・コピーを作成します。
b. 新しいライセンス・ファイルを、ローカル・ハード・ドライブに保存します。
c. <path_to_license_file>/<license_filename> ファイルを LM_LICENSE_FILE 環境変数に追加します。
5. すでにフローティング・ライセンスを取得している場合には、以下に示す方法により
<path_to_license_file>/<license_filename> ファイルを LM_LICENSE_FILE 環境変数に追加します。
a. ポート番号とホスト名をネットワークまたはシステム管理者から取得します。この情報
はライセンス・ファイルの SERVER <hostname> <8 to 12 character host or NIC ID>
<port> の行にも記載されています。
ユーザーのライセンスの保存場所は<port>@<hostname>です。ライセンス・ファイルにポ
ートがリストされていない場合は、@<hostname>を指定します。
b. ポート番号とホスト名を更新するために、ライセンス・ファイルを修正します。
c. <path_to_license_file>/<license_filename> ファイルを LM_LICENSE_FILE 環境変数設定に追加し
ます。
関連情報
•
•
•
•
アルテラ・ウェブサイトのアルテラ・ライセンス・ページ
Using the Self-Service Licensing Center
アルテラ・ウェブサイト
Licensing Altera Software
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
3-6
UG-OCL001
2015.11.02
FPGA ボードのインストール
FPGA ボードのインストール
FPGA ボード向けに Linux で OpenCL アプリケーションを作成する前に、ボード・ベンダからカ
スタム・プラットフォームをダウンロードおよびインストールしている必要があります。ほとん
どのカスタム・プラットフォーム・インストーラは、管理者権限を必要とします。 install ユ
ーティリティ・コマンドを呼び出して、ボードを Linux ホスト・システムにインストールしま
す。
ボードのインストール手順を以下に示します。一部のカスタム・プラットホームでは、追加的な
インストール手順が必要な場合があります。ボードのインストールについて、詳しくはボード・
ベンダの資料を確認してください。
1. ボード・ベンダが案内する手順に従って、FPGA ボードをシステムに接続します。
2. ボード・ベンダのウェブサイトから、使用する FPGA ボード向けのカスタム・プラットフォ
ームをダウンロードします。アルテラ SDK for OpenCL Reference Platform(例:Altera Stratix V
Network Reference Platform)をダウンロードするには、アルテラ・ウェブサイトのアルテラ
SDK for OpenCL ページで FPGA プラットフォームを参照してください。
3. カスタム・プラットフォームを任意のディレクトリ(システム・ディレクトリではなく)に
インストールします。
4. 注意: %$ALTERAOCLSDKROOT/init_opencl.sh スクリプトを実行して AOCL ユーザー環境変数を設
定した場合、このスクリプトにより AOCL_BOARD_PACKAGE_ROOT がデフォルトで
$ALTERAOCLSDKROOT/board/s5_ref を指定するようにセットされます。
ユーザー環境変数 AOCL_BOARD_PACKAGE_ROOT が board_env.xml ファイルを格納するカス
タム・プラットフォーム・サブディレクトリを指定するようにセットします。
たとえば、s5_net 向けには AOCL_BOARD_PACKAGE_ROOT が <path_to_s5_net>/s5_net ディレク
トリを指定するようにセットします。
5. QUARTUS_ROOTDIR_OVERRIDE ユーザー環境変数が、使用する Quartus Prime ソフトウェア
のインストール・ディレクトリを指定するようにセットします。シェルを開き、コマンド・
プロンプトで echo $QUARTUS_ROOTDIR_OVERRIDE と入力します。
Arria 10 デバイスを使用する場合、QUARTUS_ROOTDIR_OVERRIDE が Quartus Prime プロ・エ
ディション・ソフトウェアのインストール・ディレクトリを指定するようにセットします。
それ以外の場合には、QUARTUS_ROOTDIR_OVERRIDE が Quartus Prime スタンダード・エデ
ィション・ソフトウェアのインストール・ディレクトリを指定するようにセットします。
6. LD_LIBRARY_PATH 環境変数設定に、カスタム・プラットフォーム・ライブラリ(例:MMD
(memory-mapped)ライブラリ)へのパスを追加します。
たとえば s5_net を使用する場合には、Linux の LD_LIBRARY_PATH 設定は
$AOCL_BOARD_PACKAGE_ROOT/linux64/lib です。
Linux ユーザー環境変数の設定および init_opencl スクリプトの実行について、詳しくは アルテ
ラ SDK for OpenCL ユーザー環境変数の設定の項を参照してください。
7. 注意: ボードをインストールするには、sudo または root 権限が必要です。
コマンド・プロンプトで aocl install を呼び出します。
Altera Corporation
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
エミュレーションによるホスト・ランタイムの機能性の検証
3-7
aocl install を呼び出すことにより、ホスト・アプリケーションとハードウェア・カー
ネル・プログラムが通信するためのボード・ドライバもインストールされます。
8. 使用するマシンにインストールされた FPGA デバイスのリストを照会するには、 aocl
diagnose コマンドを呼び出します。
ソフトウェアが、acl0 から acl31 までの acl 番号で表示される<device_name>を含む出力を生成
します。
アクセラレータ・ボードの<device_name>の照会について、詳しくは FPGA ボードのデバイス
名の照会の項を参照してください。
9. FPGA ボードが正常にインストールされていることを確認するには、 aocl diagnose
<device_name> コマンドを呼び出し、ボード・ベンダが推奨する任意の診断テストを実行
します。
エミュレーションによるホスト・ランタイムの機能性の検証
アルテラ SDK for OpenCL Emulator を用いて OpenCL デザイン例をエミュレーションすることに
より、ホスト・ランタイムの機能性をテストします。
はじめる前に
1. カスタムまたはリファレンス・プラットフォームをインストールします。これは、エミュレ
ーションが特定の FPGA ボードを対象とするためです。
2. AOCL_BOARD_PACKAGE_ROOT 環境変数が、カスタムまたはリファレンス・プラットフォー
ム内の board_env.xml ファイルの位置を指定していることを確認します。シェルを開き、コマ
ンド・プロンプトに echo $AOCL_BOARD_PACKAGE_ROOT と入力します。
3. QUARTUS_ROOTDIR_OVERRIDE 環境変数が正しい Quartus Prime ソフトウェアのエディショ
ンを指定していることを確認します。シェルを開き、コマンド・プロンプトに echo
$QUARTUS_ROOTDIR_OVERRIDE と入力します。
Quartus Prime ソフトウェアのインストレーション・ディレクトリへのパスが返されない場合
には、これを QUARTUS_ROOTDIR_OVERRIDE 設定に加えます。
• Arria 10 以外のデバイス向けには、QUARTUS_ROOTDIR_OVERRIDE は Quartus Prime スタ
ンダード・エディション・ソフトウェアのインストレーション・ディレクトリを指定しま
す。
• Arria 10 デバイス向けには QUARTUS_ROOTDIR_OVERRIDE は、 Quartus Prime プロ・エデ
ィション・ソフトウェアのインストレーション・ディレクトリを指定します。
4. LD_LIBRARY_PATH 環境変数設定に、アルテラ SDK for OpenCL ユーザー環境変数の設定で示
されたパスが含まれていることを確認します。シェルを開き、コマンド・プロンプトで echo
$LD_LIBRARY_PATH を入力します。
返されたパスに $ALTERAOCLSDKROOT/host/linux64/lib および $AOCL_BOARD_PACKAGE_ROOT/linux64/lib
が含まれていなければ、これらを LD_LIBRARY_PATH 設定に追加します。
エミュレートされたカーネルを呼び出す度に、共有ライブラリのコピーである <process_ID>libkernel.so がデフォルトの一時的ディレクトリに作成されます。この<process_ID>は、各エミュ
レーションの実行に対して割り当てられた固有の数値です。デフォルトのディレクトリは、
TMPDIR 環境変数の設定により変更することができます。
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
3-8
UG-OCL001
2015.11.02
OpenCL デザイン例のダウンロード
1. 3-8 ページの OpenCL デザイン例のダウンロード
アルテラ・ウェブサイトの OpenCL Design Examples ページでは、ダウンロードして FPGA で
動作させることができる、多様なコンプレクシティのサンプル・アプリケーションを提供し
ています。
2. 3-8 ページの エミュレーション用カーネルのコンパイル
エミュレーション用 OpenCL カーネルをコンパイルするために、aoc コマンドに march=emulator オプションを含めます。
3. 3-8 ページの ホスト・アプリケーションのビルド
<path_to_exm_opencl_hello_world_x64_linux_<version>>/hello_world/Makefile ファイルにより、ホスト実
行可能ファイルをビルドします。
4. 3-9 ページの OpenCL カーネルのエミュレーション
OpenCL カーネルをエミュレーションするには、使用するカーネルにビルドしたプラットフォ
ーム上で.aocx エミュレーション・ファイルを実行します。
OpenCL デザイン例のダウンロード
アルテラ・ウェブサイトの OpenCL Design Examples ページでは、ダウンロードして FPGA で動
作させることができる、多様なコンプレクシティのサンプル・アプリケーションを提供していま
す。
以下に Hello World デザインをダウンロードする場合の手順を示します。
1. アルテラ・ウェブサイトの OpenCL Design Examples ページで Basic Examples の下の Hello
World をクリックします。
2. Hello World Design Example ページで Downloads の下の <version> x64 Linux package (.tgz)をク
リックし、使用するプラットフォーム用の圧縮ファイルをダウンロードします。
3. .tgz ファイルを、書き込みアクセス可能なディレクトリ内に解凍および保存します。
関連情報
OpenCL Design Examples page on the Altera website
エミュレーション用カーネルのコンパイル
エミュレーション用 OpenCL カーネルをコンパイルするために、aoc コマンドに march=emulator オプションを含めます。
• 使用する FPGA ボード向けにカーネルをコンパイルするには、コマンド・プロンプトで
hello_world デザインに移動し、次に以下のコマンドを呼び出します。
aoc -march=emulator-v --board <board_name> device/hello_world.cl -o
bin/hello_world_emulation.aocx
アルテラ Offline Compiler が hello_world.cl カーネル・ソース・ファイルをコンパイルし、bin サ
ブディレクトリにエミュレーションに特化した hello_world_emulation.aocx AOC 実行可能ファイ
ルを作成します。
ホスト・アプリケーションのビルド
<path_to_exm_opencl_hello_world_x64_linux_<version>>/hello_world/Makefile
可能ファイルをビルドします。
ファイルにより、ホスト実行
ホスト・アプリケーションをビルドするには、以下のステップを行います。
Altera Corporation
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
OpenCL カーネルのエミュレーション
3-9
1. hello_world ディレクトリに移動します。
2. $ make -f Makefile コマンドを呼び出します。あるいは、単に make コマンドを呼び出
します。
hello_world 実行可能ファイルが <path_to_exm_opencl_hello_world_x64_linux_<version>>/hello_world/bin
ディレクトリ内に作成されます。
OpenCL カーネルのエミュレーション
OpenCL カーネルをエミュレーションするには、使用するカーネルにビルドしたプラットフォー
ム上で.aocx エミュレーション・ファイルを実行します。
カーネルをエミュレーションするには、以下のステップを行います。
1. ユーティリティ・コマンド aocl linkflags を実行し、ホスト・アプリケーションをビル
ドするためにどのライブラリが必要かを調べます。ソフトウェアが、エミュレーションおよ
び通常のカーネル・コンパイル・フロー両方のライブラリをリストします。
2. ホスト・アプリケーションを、 aocl linkflags ユーティリティ・コマンドにより返され
たライブラリにリンクします。
3. hello_world_emulation.aocx ファイルを現在使用している作業ディレクトリに移し、ホストがこれ
を容易に見つけることができるようにします。
4. ホスト・アプリケーションをエミュレーションで動作させるには、 env
CL_CONTEXT_EMULATOR_DEVICE_ALTERA=<number_of_devices>
<host_application_filename> コマンドを呼び出します。
このコマンドは、エミュレータが提供する必要がある同一のエミュレーション・デバイスの
数を特定します。
エミュレートされたカーネルを呼び出す度に、共有ライブラリのコピーである <process_ID>libkernel.so がデフォルトの一時的ディレクトリに作成されます。この<process_ID>は、各エミュ
レーションの実行に対して割り当てられた固有の数値です。デフォルトのディレクトリは、
Windows では TMP または TEMP 環境変数の設定により、Linux では TMPDIR の設定により変更
することができます。
OpenCL カーネルの FPGA ハードウェア・コンフィギュレーション・フ
ァイルの作成
Linux バージョンの hello_world OpenCL デザイン例を、アルテラ・ウェブサイトの OpenCL Design
Examples ページからダウンロードします。 hello_world.aocx AOC 実行可能ファイルを作成するた
めに、アルテラ Offline Compiler を使用して hello_world カーネル・プログラムをコンパイルしま
す。 .aocx ファイルは、FPGA ハードウェア・コンフィギュレーション・ファイルです。
FPGA ボードの正常なインストール、およびカーネルのエミュレート後に、デバイスで動作させ
る.aocx を作成します。以下に、hello_world デザイン例から.aocx ファイルを作成する手順を示し
ます。OpenCL デザイン例について、詳しくはアルテラ・ウェブサイトの OpenCL Design Examples
ページを参照してください。
1. 注意: AOC は使用する FPGA ボード向けに OpenCL カーネルをコンパイルします。ハードウ
ェア・コンフィギュレーション・ファイルを作成する前に、FPGA ボードをインストー
ルしておく必要があります。まだ FPGA ボードをインストールしていない場合には、
FPGA ボードのインストールで手順を確認してください。
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
3-10
UG-OCL001
OpenCL カーネルの FPGA ハードウェア・コンフィギュレーション・ファイルの作
2015.11.02
成
環境変数 AOCL_BOARD_PACKAGE_ROOT が、board_env.xml ファイルを格納するカスタム・プ
ラットフォーム内のローカル・サブディレクトリを指定していることを確認します。シェル
を開き、コマンド・プロンプトに echo $AOCL_BOARD_PACKAGE_ROOT と入力します。
AOCL_BOARD_PACKAGE_ROOT がセットされていない、もしくは返されたパスが使用する
FPGA ボードのカスタム・プラットフォームを指定していない場合には、
AOCL_BOARD_PACKAGE_ROOT 環境変数設定をリセットします。詳しい手順については、ア
ルテラ SDK for OpenCL ユーザー環境変数の設定を参照してください。
2. QUARTUS_ROOTDIR_OVERRIDE 環境変数が正しいエディションの Quartus Prime ソフトウェ
アを指定していることを確認します。シェルを開き、コマンド・プロンプトに echo
$QUARTUS_ROOTDIR_OVERRIDE と入力します
Quartus Prime ソフトウェアのインストレーション・ディレクトリへのパスが返されない場合
には、QUARTUS_ROOTDIR_OVERRIDE 設定にこれを加えます。
• Arria 10 以外のデバイス向けには、QUARTUS_ROOTDIR_OVERRIDE は Quartus Prime スタ
ンダード・エディション・ソフトウェアのインストレーション・ディレクトリを指定しま
す。
• Arria 10 デバイス向けには、QUARTUS_ROOTDIR_OVERRIDE は Quartus Prime プロ・エデ
ィション・ソフトウェアのインストレーション・ディレクトリを指定します。
3. 使用する FPGA ボードを選択します。カスタム・プラットフォームで使用可能な FPGA ボー
ドのリストを表示するには、コマンド・プロンプトで aoc --list-boards コマンドを呼
び出します。
aoc コマンドの--list-boards オプションについて、詳しくは Altera SDK for OpenCL
Programming Guide の Listing the Available FPGA Boards in Your Custom Platform (--list-boards)の
項を参照してください。
4. コマンド・プロンプトで、エミュレーションに使用した hello_world.cl ファイルを含む
hello_world デザイン・ディレクトリに移動します。
5. 使用する FPGA ボード向けカーネルをコンパイルするために、以下のコマンドを呼び出しま
す。
aoc -v --board <board_name> device/hello_world.cl -o bin/
hello_world.aocx
このコマンドは、以下のタスクを実行します。
•
•
•
•
•
•
OpenCL ソース・コードから Quartus Prime デザイン・プロジェクト・ファイルを生成する
初期シンタックス・エラーのチェック
基本的な最適化の実行
必要な中間ファイルを含む hello_world ディレクトリの作成
.aoco(Altera Offline Compiler Object File)の作成
.aocx ファイルの作成
注意: カーネルの複雑さによっては.aocx ファイルのビルドに数時間かかる場合があります。
コンパイルの進行状況を画面上に表示するには、aoc コマンドに-v フラグを含めま
す。以下に出力の一例を示します。
aoc: Environment checks are completed successfully.
You are now compiling the full flow!!
aoc: Selected target board <board_name>
aoc: Running OpenCL parser....
Altera Corporation
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
FPGA のハードウェア・イメージの更新
aoc:
aoc:
aoc:
aoc:
aoc:
aoc:
3-11
OpenCL parser completed successfully.
Compiling....
Linking with IP library ...
First stage compilation completed successfully.
Setting up project for CvP revision flow....
Hardware generation completed successfully.
コンパイル・プロセスが完了すると、AOC がライン aoc: Hardware generation
completed successfully. を表示します。
aoc コマンドの --board <board_name> オプションについて、詳しくは Altera SDK for
OpenCL Programming Guide の Compiling a Kernel for a Specific FPGA Board (--board <board_name>)
の項を参照してください。
aoc コマンドの-v オプションについて、詳しくは Altera SDK for OpenCL Programming Guide の
Generating Compilation Progress Report (-v)の項を参照してください。
aoc コマンドの -o <filename> オプションについて、詳しくは Altera SDK for OpenCL
Programming Guide の Specifying the Name of an AOC Output File (-o <filename>)の項を参照してくだ
さい。
関連情報
•
•
•
•
•
•
•
Listing the Available FPGA Boards in Your Custom Platform (--list-boards)
Compiling a Kernel for a Specific FPGA Board (--board <board_name>)
Generating Compilation Progress Report (-v)
Specifying the Name of an AOC Output File (-o <filename>)
OpenCL Design Examples page on the Altera website
3-3 ページの アルテラ SDK for OpenCL ユーザー環境変数の設定
3-6 ページの FPGA ボードのインストール
FPGA のハードウェア・イメージの更新
該当する場合には、FPGA で OpenCL カーネル・プログラムを実行する前に、FPGA のフラッシ
ュ・メモリが最新バージョンの OpenCL ソフトウェアを使用して作成したハードウェア・イメー
ジを格納していることを確認します。
注意: カスタム・プラットフォームが有効な OpenCL イメージのフラッシュ・メモリへのプリロ
ードを必要とする場合には、Quartus Prime Design Suite のメジャー・リリースごとに、最
新バージョンのソフトウェアと互換するハードウェア・イメージを FPGA のフラッシュ・
メモリにプログラミングします。
FPGA ボードのデバイス名の照会
一部のアルテラ SDK for OpenCL ユーティリティ・コマンドでは、デバイス名(<device_name>)
を指定する必要があります。<device_name>は、FPGA デバイスに対応する acl 番号(例:acl0~
acl31)を参照します。 アクセラレータ・ボードのリストを照会すると、AOCL が使用するマシ
ンにインストールされたデバイスの、デバイス名の順に並んだリストを生成します。
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
3-12
UG-OCL001
2015.11.02
FPGA のフラッシュ・メモリのプログラミング
• 使用するマシンにインストールされたデバイスのリストを照会するには、コマンド・プロン
プトで aocl diagnose と入力します。
ソフトウェアが、以下に示す例のような出力を生成します。
aocl diagnose: Running diagnostic from ALTERAOCLSDKROOT/board/<board_name>/
<platform>/libexec
Verified that the kernel mode driver is installed on the host machine.
Using board package from vendor: <board_vendor_name>
Querying information for all supported devices that are installed on the host
machine ...
device_name
Status
Information
acl0
Passed
<descriptive_board_name>
PCIe dev_id = <device_ID>, bus:slot.func = 02:00.00,
at Gen 2 with 8 lanes.
FPGA temperature=43.0 degrees C.
acl1
Passed
<descriptive_board_name>
PCIe dev_id = <device_ID>, bus:slot.func = 03:00.00,
at Gen 2 with 8 lanes.
FPGA temperature = 35.0 degrees C.
Found 2 active device(s) installed on the host machine, to perform a full
diagnostic on a specific device, please run aocl diagnose <device_name>
DIAGNOSTIC_PASSED
FPGA のフラッシュ・メモリのプログラミング
アルテラ SDK for OpenCL デザイン例のハードウェア・イメージをデバイスのフラッシュ・メモ
リにロードすることにより、FPGA をコンフィギュレーションします。FPGA は、通電していな
い間もフラッシュ・メモリ内のハードウェア・コンフィギュレーション・ファイルを保持しま
す。システムに電源を投入した際に、FPGA 回路は、このフラッシュ・メモリのハードウェア・
イメージに基づいてコンフィギュレーションされます。したがって、OpenCL と互換するハード
ウェア・コンフィギュレーション・ファイルを、必ず FPGA のフラッシュ・メモリにロードして
おく必要があります。
また、多くのカスタム・プラットフォームでは、適切に機能するために OpenCL イメージをフラ
ッシュ・メモリへプリロードしておく必要があります。たとえば、ほとんどの PCIe ベースのボ
ードが、フラッシュ・メモリ内に有効な OpenCL イメージを必要とします。これにより、ホス
ト・システムが最初に電源投入された際に、ボード上のハードウェアがイメージを使用して
FPGA デバイスをコンフィギュレーションします。FPGA が有効な OpenCL イメージでコンフィ
ギュレーションされなければ、システムが PCIe エンドポイントの列挙に失敗するか、あるいは
ドライバが機能しなくなります。
いずれのデザインを動作させる前にも、ボードのフラッシュ・メモリが最新バージョンの
OpenCL ソフトウェアと互換する有効な OpenCL イメージを有していることを確認します。ボ
ード固有の要件については、使用するボードのベンダの資料を参照してください。
注意: ハードウェア・コンフィギュレーション・ファイルを FPGA のフラッシュ・メモリにロー
ドする際には、ロード処理が完了するまでシステムの通電を保ってください。ロードには
数分を要することがあります。また、OpenCL カーネルを呼び出す、あるいは、それ以外
でも FPGA ボードと通信するホスト・コードを起動しないでください。
Altera Corporation
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
FPGA での OpenCL カーネルの実行
3-13
ハードウェア・コンフィギュレーション・ファイルを FPGA ボードのフラッシュ・メモリにロー
ドするには、以下のステップを行います。
1. カスタム・プラットフォームに必要なすべてのドライバとユーティリティをインストールし
ます。
2. AOCL_BOARD_PACKAGE_ROOT 環境変数が、board_env.xml ファイルを格納するカスタム・プ
ラットフォーム内のサブディレクトリを指定していることを確認します。シェルを開き、コ
マンド・プロンプトに echo $AOCL_BOARD_PACKAGE_ROOT と入力します。
返されたパスがカスタム・プラットフォーム内の board_env.xml ファイルの位置を指していな
い場合には、 アルテラ SDK for OpenCL ユーザー環境変数の設定の手順に従って、環境変数設
定を修正してください。
3. 使用するカスタム・プラットフォーム向けのデザイン例をダウンロードします。
注意: OpenCL Design Examples ページからデザイン例をダウンロードし、書き込みアクセスが
可能な位置にデザイン例を解凍します。
4. フラッシュ・メモリにハードウェア・コンフィギュレーション・ファイルをロードするため
に、 aocl flash <device_name> <example_design_filename>.aocx コマンドを
呼び出します。このコマンドの<device_name>には使用する FPGA デバイスに対応する acl 番
号(例:acl0~acl31)が入ります。また、 <example_design_filename>.aocx は、デザイン例パッケ
ージの <example_design_filename>.cl ファイルから作成するハードウェア・コンフィギュレーショ
ン・ファイルです。
5. デバイスあるいはコンピュータの電源を落としてから再投入します。
電源の再投入により、FPGA コンフィギュレーション・デバイスがフラッシュ・メモリからハ
ードウェア・コンフィギュレーション・ファイルを取得し、これで FPGA をコンフィギュレ
ーションすることを確実にします。
警告: 一部のカスタム・プラットフォームでは、フラッシュ・メモリのプログラミング後に
ホスト・システム全体に電源の再投入を行う必要があります。たとえば、PCIe ベース
のカスタム・プラットフォームでは、PCIe エンドポイントを再列挙するためにホスト・
システムの再起動が必要な場合があります。アルテラは、フラッシュ・メモリのプロ
グラミング後にホスト・システム全体の電源を再投入することを推奨します。
関連情報
• OpenCL Design Examples page on the Altera website
• 3-3 ページの アルテラ SDK for OpenCL ユーザー環境変数の設定
FPGA での OpenCL カーネルの実行
OpenCL ホスト・アプリケーションを Makefile ファイルによりビルドする必要があり、このアプ
リケーションを hello_world 実行可能ファイルを呼び出すことにより動作させます。 OpenCL ア
プリケーションをビルドするには、gcc や make といった GNU 開発ツールが必要です。
関連情報
3-8 ページの ホスト・アプリケーションのビルド
ホスト・アプリケーションの実行
FPGA で OpenCL カーネルを実行するために、Linux で.sln ファイルからビルドしたホスト・アプ
リケーションを動作させます。
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
3-14
UG-OCL001
2015.11.02
正常なカーネル実行からの出力
1. LD_LIBRARY_PATH 環境変数にパス$ALTERAOCLSDKROOT/host/linux64/lib を加えます。
2. コマンド・プロンプトで <path_to_exm_opencl_hello_world_x64_linux_<version>>/hello_world/bin ディレ
クトリ内のホスト実行可能ファイルに移動します。
3. hello_world 実行可能ファイルを呼び出します。
hello_world 実行可能ファイルが、FPGA でカーネル・コードを実行します。
正常なカーネル実行からの出力
使用する FPGA で OpenCL カーネルを実行するためにホスト・アプリケーションを動作させた際
に、アルテラ SDK for OpenCL は正常なカーネル実行を通知します。
以下に出力の例を示します。
Found 1 OpenCL platforms.
Querying platform for info:
==========================
CL_PLATFORM_NAME
CL_PLATFORM_VENDOR
CL_PLATFORM_VERSION
= Altera SDK for OpenCL
= Altera Corporation
= OpenCL 1.0 Altera SDK for OpenCL, Version <version>
Querying device for info:
========================
CL_DEVICE_NAME
= <board_name> : <descriptive_board_name>
CL_DEVICE_VENDOR
= <board_vendor_name>
CL_DEVICE_VENDOR_ID
=
<board_vendor_ID>
CL_DEVICE_VERSION
= OpenCL 1.0 Altera SDK for OpenCL, Version <version>
CL_DRIVER_VERSION
= <version>
CL_DEVICE_ADDRESS_BITS
= 64
CL_DEVICE_AVAILABLE
= true
CL_DEVICE_ENDIAN_LITTLE
= true
CL_DEVICE_GLOBAL_MEM_CACHE_SIZE
= 32768
CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE
= 0
CL_DEVICE_GLOBAL_MEM_SIZE
= 0
CL_DEVICE_IMAGE_SUPPORT
= false
CL_DEVICE_LOCAL_MEM_SIZE
= 16384
CL_DEVICE_MAX_CLOCK_FREQUENCY
= 1000
CL_DEVICE_MAX_COMPUTE_UNITS
= 1
CL_DEVICE_MAX_CONSTANT_ARGS
= 8
CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE
= 1073741824
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS
= 3
CL_DEVICE_MAX_WORK_ITEM_DIMENSIONS
= 1024
CL_DEVICE_MIN_DATA_TYPE_ALIGN_SIZE
= 128
CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR
= 4
CL_DEVICE_PREFERRED_VECTOR_WIDTH_SHORT = 2
CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT
= 1
CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG
= 1
CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT = 1
CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE = 0
Command queue out of order?
= false
Command queue profiling enabled?
= true
Kernel initialization is complete.
Launching the kernel...
Thread #2: Hello from Altera's OpenCL Compiler!
Kernel execution is complete.
Altera Corporation
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
UG-OCL001
2015.11.02
ソフトウェアのアンインストール
3-15
ソフトウェアのアンインストール
Linux で アルテラ SDK for OpenCL をアンインストールするには、GUI アンインストーラを介し
てソフトウェア・パッケージを削除してから、ソフトウェア・ディレクトリを削除し、これまで
の設定向けに変更したすべての環境変数を元に戻します。
1. 以下のステップを行い、ソフトウェア・パッケージを削除します。
a. Quartus Prime スタンダード・エディション・ソフトウェアならびに Quartus Prime プロ・
エディション・ソフトウェア向け AOCL をアンインストールするために、 <install directory>/
uninstall ディレクトリにある aocl-<version>-uninstall.run プログラムを実行します。
2. PATH 環境変数から$ALTERAOCLSDKROOT/bin を削除します。
3. LD_LIBRARY_PATH 環境変数から$ALTERAOCLSDKROOT/host/linux64/lib を削除します。
4. ALTERAOCLSDKROOT 環境変数を削除します。
5. QUARTUS_ROOTDIR_OVERRIDE 環境変数を削除します。
FPGA ボードのアンインストール
Linux で FPGA ボードをアンインストールするには、uninstall ユーティリティ・コマンドを
呼び出し、カスタム・プラットフォームをアンインストールし、関係する環境変数の設定を元に
戻します。 OpenCL アプリケーションを異なるカスタム・プラットフォームに属する FPGA ボー
ドへ移行する場合には、必ず現在の FPGA ボードをアンインストールする必要があります。
FPGA ボードをアンインストールするには、以下のステップを行います。
1. ボード・ベンダが案内する手順に従って、使用しているマシンからボードを取り外します。
2. aocl uninstall ユーティリティ・コマンドを呼び出して、現在のホスト・コンピュータ・
ドライバを削除します(例:PCIe ドライバ)。 アルテラ SDK for OpenCL は、FPGA ボードと
通信するためにこれらのドライバを使用しています。
3. カスタム・プラットフォームをアンインストールします。
4. LD_LIBRARY_PATH 環境変数の設定を元に戻します。
5. AOCL_BOARD_PACKAGE_ROOT 環境変数の設定を元に戻します。
Linux 向け Altera SDK for OpenCL スタート・ガイド
フィードバック
Altera Corporation
改訂履歴
2015.11.02
UG-OCL001
更新情報
A
フィードバック
表 A-1: アルテラ SDK for OpenCL スタート・ガイドの改訂履歴
日付
バージョン
2015 年 11 月
2015.11.02
2015 年 5 月
15.0.0
変更内容
• Quartus II を Quartus Prime に変更
• サポートされる Windows のバージョンに Windows 8.1 を追加
• tar ファイルのダウンロードおよびインストール手順を修正し、
AOCL、Quartus Prime ソフトウェア、およびデバイス・サポー
トを付加
• AOCL のみのインストール手順は現在のバージョンでは使用で
きないため、これを削除
• hello_world デザイン例をエミュレーションすることによりホ
スト・ランタイムの機能性を確認するための手順を追加
• 図 FPGA プログラミングの概要を修正し、プログラミング・フ
ローにエミュレーションを追加
• アンインストール手順を更新
• 手順を以下の 2 つの項に再編
• Windows 向け AOCL スタート・ガイド
• Linux 向け AOCL スタート・ガイド
© 2015 Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, ENPIRION, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are
trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance
of its semiconductor products to current specifications in accordance with Altera's standard warranty, but reserves the right to make changes to any
products and services at any time without notice. Altera assumes no responsibility or liability arising out of the application or use of any information,
product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device
specifications before relying on any published information and before placing orders for products or services.
www.altera.com
101 Innovation Drive, San Jose, CA 95134
ISO
9001:2008
登録済
A-2
UG-OCL001
2015.11.02
改訂履歴
日付
バージョン
変更内容
2014 年 12 月
14.1.0
インフォメーション・フローの再編
RHEL(Red Hat Enterprise Linux)バージョン・サポートの更新
アルテラ SDK for OpenCL の内容の項を追加
新しい AOCL(Altera Software Development Kit (SDK) for
OpenCL)のシングル・ライセンス向けにライセンス取得の手順
を更新
• ボードのアンインストール手順を更新し、 aocl uninstall
ユーティリティ・コマンドを追加
• 環境変数の設定のための init_opencl スクリプトに関する情報を
追加
• ソフトウェアおよびボードのアンインストール手順をソフトウ
ェアのアンインストールおよび FPGA ボードのアンインストー
ルの項として再編
2014 年 6 月
14.0.0
•
•
•
•
•
•
•
•
使用条件の項を更新
図 AOCL インストール手順の概要を更新
ソフトウェア・ダウンロード手順を更新
Windows 向けの AOCL インストールおよびアンインストール
の手順を更新
• Linux システム向けに:
• Added the sections Installing the AOCL on Linux Using RPM およ
び Uninstalling the AOCL on Linux Using RPM の項を追加
• Installing the AOCL on Linux Using the GUI Installer の項を更新
• ソフトウェア・ラインセンスの取得の項を追加
• FPGA ボードのインストールの項でデバイスの照会および診断
テストの実行の手順を更新
• OpenCL カーネルの FPGA ハードウェア・コンフィギュレーショ
ン・ファイルの作成の項を更新し:
• AOCL_BOARD_PACKAGE_ROOT 向けにセットするパスを更
新
• hello_world.cl をコンパイルする際の-v オプションによる
AOC の出力例を更新
• AOC 出力を更新
• Identifying the Device Name of Your FPGA Board の項を追加
• hello_world のディレクトリおよびファイル名の更新に伴い、ホ
スト・アプリケーションのビルドおよび実行のための手順を修
正
• FPGA ボードのアンインストールの項を追加
2013 年 12 月
Altera Corporation
13.1.1
• 使用条件の項を更新し、Linux カーネル・ソース、ヘッダ、お
よび GCC が必要であることを付加
改訂履歴
フィードバック
UG-OCL001
2015.11.02
改訂履歴
日付
2013 年 11 月
バージョン
13.1.0
変更内容
インフォメーション・フローの再編
使用条件の項を更新
ボード・インストール手順を更新
ソフトウェア・ダウンロード手順を更新
Installing the AOCL and the Quartus II Software Together の項を追
加
• ソフトウェアのインストールおよびアンインストール手順を更
新
• 以下の図を更新:
•
•
•
•
•
•
•
•
•
•
•
•
•
2013 年 6 月
改訂履歴
フィードバック
13.0 SP1.0
A-3
• AOCL インストール手順の概要
• FPGA プログラミングの概要
Licensing の項を削除
ボード固有の手順およびコンフィギュレーション手順を全て削
除
カーネル設定および FPGA プログラミングについて説明するた
めの OpenCL アプリケーション例を moving_average から
hello_world に変更
更新されたフラッシュ・プログラミング手順を含む FPGA のハ
ードウェア・イメージの更新の項を追加
Installing the USB-Blaster Driver on Windows.の項を削除
Windows および Linux システム向けの、FPGA での正常な
hello_world カーネル実行の出力を更新
図 Contents of the Moving Average Example を削除
図 Opening host.sln in Visual Studio を削除
• 必要な Quartus II および AOCL ソフトウェアのバージョンを
13.0 から 13.0 SP1 に更新
• 図 A Correct Windows Device Manager After Complete Board Driver
Installation for a BittWare Board を追加
• Windows 向け Verifying the Functionality of the BittWare Board の
項でベンダおよびデバイス ID を更新
• ディレクトリに.cshrc ファイルも.bashrc ファイルも含まない
Linux システムに AOCL をインストールする手順を更新
• AOCL デザイン例へのパスを更新
• 図 Contents of the Moving Average Example を更新
• フラッシュ・プログラミング手順を更新
Altera Corporation
A-4
UG-OCL001
2015.11.02
改訂履歴
日付
バージョン
2013 年 5 月
13.0.1
• OpenCL_SDK フォルダあるいはディレクトリを AOCL に改名
• Linux システムで AOCL のインストールが.cshrc および.bashrc フ
ァイルに依存することについての注意を追加
• BittWare ボードを使用する場合に BittWare 開発ソフトウェア
をインストールする必要があることを追加
• Windows 7 を使用するシステムで Jungo WinDriver のインスト
ールが成功しない可能性があることについての注意を追加。再
インストール手順を追加
• BittWare FPGA ボードに実装されていない aocl コマンドにつ
いてのエラー・メッセージが表示されることについての注意を
追加
• 環境変数 AOCL_BOARD_PACKAGE_ROOT の設定についての注
意メッセージを追加
• Windows および Linux システム向けにボード・ドライバ・イン
ストール手順を更新
• Windows および Linux システム向けにパスを AOCL のデフォ
ルト位置に修正
• Linux システムで AOCL をインストールする際に PATH 環境変
数に追加するパス名を修正。パス名は $QUARTUS_ROOTDIR/bin64
ではなく $QUARTUS_ROOTDIR/bin
2013 年 5 月
13.0.0
• インストールおよびコンパイル手順を更新
• ライセンス取得の手順を追加
• フラッシュ・プログラミング手順を更新し、これを Appendix A
に移動
• ソフトウェアおよび資料ダウンロードのページへのリンクを更
新
2012 年 11 月
12.1.0
初版
Altera Corporation
変更内容
改訂履歴
フィードバック