LoginSignup
11
10

More than 5 years have passed since last update.

Ubuntu16の上で手軽にIntel HLSを使うためにDockerでCentOS7を動かす

Last updated at Posted at 2017-12-09

タイトルのまま...なのですが,
普段使いのUbuntu 16.04でIntel HLSを使おうとしたところ,gcc-4.4が必要とか32bit環境が必要とか,面倒だったので,Dockerでやりました,というメモ.

実際にやることは,@yukitaketakeさんの
Intel HLS Compilerを使える状態にする(CentOS編)のままです.

なお,ホストであるUbuntu 16.04環境の /opt/Intel/intelFPGA_lite/17.1/ 以下にQuartus Prime一式がインストールしてある,という想定です.

Quartus Prime環境について

Quartus Primeは↓のようにインストールされているはず.

% ls /opt/Intel/intelFPGA_lite/17.1
hls/  ip/  licenses/  logs/  modelsim_ase/  nios2eds/  quartus/  uninstall/

そのままだと,ModelSimの実行ファイルへのパスが辿れないので,

ln -s /opt/Intel/intelFPGA_lite/17.1/modelsim_ase/linux \
      /opt/Intel/intelFPGA_lite/17.1/modelsim_ase/linux_rh60

としておく.

準備

適当な作業ディレクトリを用意する

% mkdir -p $HOME/docker/hls
% cd $HOME/docker/hls

とか.

Dockerファイルの用意

↓の中身の Dockerfile という名前のファイルを$HOME/docker/hlsの下に用意する.

FROM centos:centos7
RUN yum -y update
RUN yum -y groupinstall "Development Tools"
RUN yum -y install epel-release
RUN yum -y install which
RUN yum -y install compat-gcc-44 compat-gcc-44-c++
RUN yum -y install glibc.i686 glibc-devel.i686 libX11.i686 libXext.i686 libXft.i686 ncurses-devel.i686
ADD quartus_env.sh /

最後にADDしている quartus_env.sh というファイルは環境変数設定用のスクリプト.
↓の内容を, quartus_env.sh というファイルに書いておく.

export QSYS_ROOTDIR=/opt/Intel/intelFPGA_lite/17.1/quartus/sopc_builder/bin
export PATH=/opt/Intel/intelFPGA_lite/17.1/quartus/bin:$PATH
export PATH=/opt/Intel/intelFPGA_lite/17.1/qsys/bin:$PATH
export PATH=/opt/Intel/intelFPGA_lite/17.1/modelsim_ase/bin:$PATH

export CPLUS_INCLUDE_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.4.7:/usr/include/c++/4.4.7:/usr/include/c++/4.4.7/x86_64-redhat-linux

ここまで,終わると,

% pwd
/home/miyo/docker/hls
% ls
Dockerfile  quartus_env.sh

と2つのファイルが \$HOME/docker/hls に作成されたことになる (上の例では,\$HOME=/home/miyo/).

コンテナの作成と起動

ファイルが用意できたら,コンテナ作って起動.

sudo docker build -t user/hls:1.1 .
sudo docker run -v /opt:/opt --name hls-test -i -t user/hls:1.1 /bin/bash

ホストの/optをDockerゲスト内でも/optにマウントして使えるようにしている.
exitしたあとは,startでまた起動すればいい.

sudo docker start -a -i hls-test

そのあとは

Docker環境で,こんな感じで動作確認.

% source /quartus_env.sh 
% source /opt/Intel/intelFPGA_lite/17.1/hls/init_hls.sh 
% cd /root
% cp -r /opt/Intel/intelFPGA_lite/17.1/hls/examples .
% cd examples/counter/
% make
% ./test-x86-64
% make test-gpp
% ./test-gpp
% make test-fpga
% ./test-fpga
11
10
7

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10