デル eカタログサイト | デル製品 販売支援サイト
 | 実証!Intel® PAC(インテル® Arria® 10)#2
   
       
   
       
   
    





皆様、お久しぶりでございます。 読書家(ラノベ)が高じて肩こりと腰痛に悶えとります。
予想よりもだいぶ早い再開に筆者も喜びを隠せません! VIVA!書き溜め!

#1ではIntel PAC開封の儀をお届けしましたので、#2では予告通りIntel Acceleration Stackをインストールしたりして、実際に使えるところまでお届けしたいなぁと思います(予定は未定)。
さぁ、今回も組み込み開発にも強い弊社パートナーの富士ソフト株式会社さんの協力の下、意気揚々とやっていきましょう!


サーバーのセットアップ

電源とファンの心地よい音色(轟音)とともに画面が表示され、起動シーケンススタート!(図10)。

FSI組み込みエンジニア「サーバーうるせえ…」
筆者「やがてこの音色がクラシックミュージックに聞こえます、大丈夫です!」


(図10) サーバー起動中の画面


Intel PAC検証済みOSは以下の3種類ですが、今回はFSI組み込みエンジニアの方がIntel FPGA開発も行うので、開発ツールの対応状況からRed Hat Enterprise Linuxを採用したいと思いつつ予算の都合でCent OS 7.4を採用する事に・・・

  ・Red Hat * Enterprise Linux *(RHEL)7.4、カーネルバージョン3.10
  ・CentOS 7.4、カーネルバージョン3.10
  ・Ubuntu 16.04、カーネルバージョン4.4



Intel Acceleration Stackのインストール

Intel PACを使用するためのソフトウェア群であるAcceleration Stackをインストールします。Acceleration StackにはIntel PACを利用したソフトウェア開発のみが可能なランタイム版と、Intel PACによるアクセラレーターを開発可能な開発者版があるそうです。
今後、Intel PACのAFUの開発を行えるように開発版を導入する事にしました。

開発者版でインストールされるのは以下3つのパッケージ

  ・OPAE SDK version 1.1.2 Production
  ・Intel® Quartus® Prime Pro Edition 17.1.1 including SR-IOV license
  ・Intel® FPGA SDK for OpenCL* 17.1.1

ある程度のIntel PACのハードウェア開発はこれだけで済むそうです! すごいですね!
代償は18GBという超巨大なダウンロードサイズ・・・
Intel Acceleration Stackのインストール手順はQuick Start Guideに記載されています。

ダウンロードが完了したら、setup.shを実行してインストールを開始! のりこめー^^






・・・ エラー!! 

   パッケージ python2-jsonschema は利用できません。
   パッケージ python2-pip は利用できません。
   何もしません
   sudo: pip: コマンドが見つかりません

何もしませんってなんだよ! と、思ったらFSI組み込みエンジニアは格が違いました。

「これはepel リポジトリを追加しないとなぁ、CentOSは入れないとダメなんだ?
 RHELは確か最初っから大丈夫だったはずだけど、Cent OSだから仕方ないか」

   $ yum install epel-release
   $ sudo yum install python-pip –enablerepo=epel
   $ sudo yum install python2-jsonschema –enablerepo=epel

おお! 流石にベテランのエンジニアは違うなぁ、よしよし!

そして、エラー・・・ ぅん?

   エラー: パッケージ: opae-intel-fpga-driver-1.1.2-1.x86_64 (/opae-intel-fpga-driver-1.1.2-1.x86_64)
         要求: dkms >= 2.2.0.2


これもepel リポジトリからインストールすれば良いとの事で、サクっと解決!

   $ sudo yum install dkms –enablerepo=epel

なんとかエラーを解決(筆者は何もしていない)し、インストールが無事完了しました。

完了後に初期化スクリプトを実行するように指示されます。
そして、再起動のたびに環境変数を設定しなくても済むように、この初期化スクリプトをシェルスクリプトから起動するよう促されます。 ふむふむ。
とりあえず.bash_profileからinit_env.shを起動するように設定し、一仕事終えた充実感を味わっているとRDP接続でGUIログイン出来なくなりました。 HAHAHA おまいがー!?


さぁ、FSIさん出番ですよ!! 
調査した(してもらった)結果、init_env.shとそこから呼び出される setup_permissions.sh の中でsudoが多用されており、ログイン処理中にパスワード入力待ちが発生しRDPクライアントがタイムアウトになっていたようです。

sshで接続するとsudoでパスワード入力可能なのでログインできました。
この後、sudoによるパスワードを不要にすることでRDPログインが復活

毎回起動させる初期化スクリプトでsudoを多用する仕様はイケてない気がしますね。。。



FPGA driverのインストール

気を取り直してFPGA driverをインストールしていきましょう! 元気よくいこう!
Cent OS / RHEL 7.4用のビルド済みバイナリ(RPM)を使ってOPAEフレームワークをインストールし、カーネルモジュールの状況を確認します。

   $ sudo lsmod | grep fpga
   intel_fpga_pac_iopll   13392 0
   intel_fpga_pac_hssi    18347 0
   intel_fpga_fme            54120 0
   intel_fpga_afu            32062 0
   intel_fpga_pci             26681 2 intel_fpga_afu,intel_fpga_fme
   fpga_mgr_mod           14693 1 intel_fpga_fme



FPGAインタフェースマネージャー(FIM)

次はIntel PAC側の確認です。
Acceleration Stackとしてインストールされたfpgainfoというコマンドを使います。

   $ sudo fpgainfo fme

の結果、以下の出力が得られました。 ふむ、なんとなく分からん。

   Board Management Controller, microcontroller FW version unavailable
   Last Power Down Cause: unavailable
   Last Reset Cause: unavailable (can’t open)
   //****** FME ******//
   Object Id : 0xEF00000
   PCIe s:b:d:f : 0000:D8:00:0
   Device Id : 0x09C4
   Socket Id : 0x00
   Ports Num : 01
   Bitstream Id : 0x123456789ABCDEF
   Bitstream Version : 0x557700030201
   Pr Interface Id : ce489693-98f0-5f33-946d-560708be108a

FIM Version(PR Interface ID)によると、このPACカードは 1.0 Production で、対応OPAE ver は 0.13.1以降のようです(FSI組み込みエンジニア談)。
Board Management Controller(BMC) Firmwareのバージョンが表示されていませんね。。。
Firmwareのアップデートが必要と思われるので、やってみますか。。。

というとこで・・・ え? また時間? まだ終わってないんですけd・・・ひぃ、すみません!
という事で、皆様! 次回はBMC Firmwareのアップデートからやっていきたいと思います!
じゃあねっ!


パートナーセールスエンジニア  中西 祐輔


バックナンバー

AIや映像変換を高速化する最適化とは?!
実証!Intel® PAC(インテル® Arria® 10)#1
実証!Intel® PAC(インテル® Arria® 10)#2
実証!Intel® PAC(インテル® Arria® 10)#3
実証!Intel® PAC(インテル® Arria® 10)#4



   
       
   
       
   
    

 

タグ: , , , , , ,