概要
現在,CPUやGPU,FPGAなどの異なる演算デバイスを組み合わせた並列計算機を構成して,演算能力を向上させ,数値シミュレーションを高速化する手法が取られています.
開発環境が並列計算機を構成するプロセッサのベンダに依存しており,ソフトウェアの可搬性を維持しつつより高性能なデバイスへの乗り換えが困難であるといった問題があります.
この問題を解決する手法の一つにOpenCL(Open Computing Language)を用いる事が挙げられます.
OpenCLはCベースの言語を使用して,FPGA,GPU,CPUなど様々なプラットフォームで,実行可能なコードを開発できますが,開発対象となるターゲットボードにより開発工程が異なります.
例えば,Intel社(旧Altera社)のボードをターゲットボードとする場合は,Intel SDK for OpenCLという開発ツールを使うことでFPGAで実行可能なコードを開発できます.
一方,Xilinx社のFPGAを用いる場合は,SDAccelという開発ツールを使う必要があります.
本記事では,SDAccelを用い,FPGA上でOpenCLを実行する方法について紹介します.
開発環境について
SDAccelを使うには,2つ条件があります.
1. SDAccelに対応したxilinx社製のボードを購入する.
2. SDAccelのライセンスを購入する.
本記事掲載日(2017/11/3)現在,SDAccelを使ってFPGAボードを開発するには,SDAccelに対応したボードを購入する必要があります.SDAccelに対応したボードは以下のサイトに載ってます.
本記事では,Xilinx社製 Kintex UltraScale FPGA KCU1500を使用しました.
Kintex UltraScale FPGA KCU1500の詳細
開発キットを購入すると,Vivado Design Suite Design Edition,SDAccel開発環境,パーシャルリコンフィグレーションのライセンスが付いてきます.
開発環境の構築
SDAccelを導入した,PCの環境は以下の通りです.
・System
OS:CentOS Linux release 7.4.1708 (Core)
Kernel:3.10.0-693.5.2.el7.x86_64
・Hardware
CPU:Intel Core i7 6700k
MEM:16GB
Centos7にSDAccelをインストールする方法を紹介します.
Step1. Xilinx社のサイトからSDAccelフル製品インストール版(SDx 2017.2 SFD)をダウンロードします.
SDAccelダウンロード
Step2. ダウンロードしたファイルを解凍します.
例)tar fvzx Xilinx*.tar.gz
Step3. 解凍したフォルダ内にある,xsetupを実行します.
例)sudo ./xsetup
xsetupを実行し,ウィザードを進めていき,インストールしてください.
それなりに時間がかかります.
Step4. SDAccelのライセンスを取得します.
ライセンスがない場合は,下記のサイトからライセンスを取得できます.
無償評価版なので,60日の制限がかかっています.
SDAccelライセンス
SDAccelのインストールは以上で終了です.
次回は,デバイスドライバのインストール,コンフィグレーションファイルの書き込み方法を紹介します.
11/17 SDAccelを用いた回路設計について その2