SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group Copyright © Fixstars Group
AI エンジンの高速化テクニックの紹介:
SIMD プログラミング
株式会社フィックスターズ
ソリューション第四事業部
松田 裕貴
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
AI Engine とは
• 近年、DNN を始めとする高負荷な演算性能を要求する
アプリケーションが増えている
• 従来の FPGA (LUT + DSP) では DSP の集積度が低く、
演算性能が不足
• AI Engine は Versal に追加された新たな計算用のエンジンで、
従来の FPGA よりも非常に高い演算性能を達成可能
2
https://docs.xilinx.com/v/u/ja-JP/wp506-ai-engine
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
AI Engine とは (cont.)
• AI Engine アレーは 複数の AI Engine を
メッシュ状に並べた演算ブロック
• VC1902 では 400 AI Engine が存在
• 各 AI Engine 内にはプロセッサがある
• 動作周波数は 1GHz 程度
• ベクタ命令をサポート
• 256 OPS/cycle @ int8
• 64 OPS/cycle @ int16
• PL (Programmable Logic) とメモリを
介さずにデータのやり取りが可能
• FPGA の強みである低レイテンシなパイプライン内に
高負荷な演算を追加できる
3
https://japan.xilinx.com/products/technology/ai-engine.html
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
AI Engine タイル
• AI Engine の一つの島はタイルと呼ばれる
• プロセッサとローカルメモリが含まれる
• プロセッサは VLIW アーキテクチャで、
並列度の高いベクタ命令を発行可能
• 性能を出すにはベクタ命令の使い切りが
非常に重要
4
https://japan.xilinx.com/products/technology/ai-engine.html
https://docs.xilinx.com/r/ja-JP/am009-versal-ai-engine
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
AI Engine のメモリアーキテクチャ
• AI Engine の 1つのコアからは
4方向のメモリに直接アクセス可能
• 赤色のコア -> 黄色のメモリ
• メモリあたり 32KB
• メモリへのアクセスは
高帯域かつレイテンシがほぼ一定
• ローカルメモリはコア間の
データ共有にも使用可能
• ストリームインターフェース
(cascade / AXI4) によるコア間通信も可能
5
https://docs.xilinx.com/r/ja-JP/am009-versal-ai-engine
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
AI Engine で構成可能なデータフロー
• AI Engine は PL 領域と
AXI4 Stream プロトコルによる密なデータのやり取りが可能
• AI Engine の内部メモリやストリームにより、
様々な形の処理を実現できる
6
https://docs.xilinx.com/r/ja-JP/am009-versal-ai-engine
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
データフローで速度を出すためには
• AI Engine のアーキテクチャの特徴的な点
• PL のデータフローとストリーム IF で結合して処理できる
• データフローの速度は最も遅いブロックに律速されるため、
AI Engine を含む処理では下記2点において十分な速度を出す必要が
ある
1. データの送受信を行う PL ロジック
2. AI Engine の各ブロック
• AI Engine の各ブロックの速度を出すには?
• ⇒ アーキテクチャの理解・その性能の使い切りが重要となる
7
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
AI Engine を用いたチューニング例: FIR フィルタ
• FIR フィルタを例に
AI Engine による処理のチューニング例を紹介
• AI Engine 上のプログラムは C/C++ で記述し、
FIR フィルタは以下のような処理になる
8
Source: https://en.wikipedia.org/wiki/Finite_impulse_response
(※CC BY-SA 3.0により許諾されています。
https://creativecommons.org/licenses/by-sa/3.0/)
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
aiesimulator による性能プロファイリング
• AI Engine のツールチェーンには aiesimulator という
サイクルアキュレートシミュレータが存在する
• aiesimulator では命令単位のプロファイル結果を出すことができ、
性能の見積もりに役立つ
9
FIR フィルタのプロファイル結果。最も内側のループで LOAD, LOAD, ADD, MUL で 4cycle 使用する
積和計算処理
積和計算処理
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
SIMD 命令の使用
• AI Engine は SIMD (Single-Instruction Multiple-Data) 命令を
使うことで理想的な性能を達成可能
• スカラ命令のみの場合は 1OPs/tile しか出ないが、
SIMD 命令を使うと int16 の場合は 64OPs/tile まで達成可能
• 効率の良いシステムを作るには、これらを使うことが非常に重要
10
https://japan.xilinx.com/products/technology/ai-engine.html
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
SIMD の適用
• AI Engine で開発を行う場合、
2つの方法で SIMD 命令を使用するよう
コンパイラに指示ができる
• Intrinsics 命令の使用
• AIE API の使用
• Vitis Libraries にはチューニング済みの
カーネルが存在するため、
これらを使うことも可能
11
Intrinsics 命令の例
https://www.xilinx.com/htmldocs/xilinx2021_2/aiengine_intrinsics/intrinsics/
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
SIMD の適用
12
SIMD 化
9cycles の間に
8回 64ops の命令を発行
(SIMD化前は 2ops/4cycle)
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
SIMD 適用後の処理速度
• VCK5000 上に検証環境を作成した
• SIMD 適用前後で比較したところ、88倍の速度向上となった
• AI Engine の使いこなしには、SIMD 命令を使うことが非常に重要
13
デザイン M Samples / sec
(実機)
SIMD による
Speedup (実機)
SIMD 適用前 0.146 x1
SIMD 適用後 12.86 x88
FPGA
PL
AIE
NOC/DDR
mm2s
s2mm
FIR Filter
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Fixstars Corporation www.fixstars.com
本セッションのまとめ
• AI Engine を使うと FPGA のデータフロー中に
大規模な演算ロジックを追加できる
• AI Engine の性能を引き出すためには
アーキテクチャを意識したチューニングが必要
• 適切なデータフローの設計
• AI Engine コア単位のチューニング
• SIMD 命令を使うように自分でコードを書く
• Vitis Libraries など、最適化済みのライブラリを使用する
14
Fixstars Corporation www.fixstars.com
Copyright © Fixstars Group
Thank You
お問い合わせ窓口 : contact@fixstars.com

Mais conteúdo relacionado

Semelhante a VCK5000_Webiner_Fixstars様ご講演資料

【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
IMJ Corporation
 
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
Computational Materials Science Initiative
 

Semelhante a VCK5000_Webiner_Fixstars様ご講演資料 (20)

Engine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaSEngine Yard - 商用マルチクラウドPaaS
Engine Yard - 商用マルチクラウドPaaS
 
HSM用ミドルウェア Conduit Toolkitの概要と使い方
HSM用ミドルウェア Conduit Toolkitの概要と使い方HSM用ミドルウェア Conduit Toolkitの概要と使い方
HSM用ミドルウェア Conduit Toolkitの概要と使い方
 
販売店向けコールセンターシステム開発
販売店向けコールセンターシステム開発販売店向けコールセンターシステム開発
販売店向けコールセンターシステム開発
 
Parallel Technology
Parallel TechnologyParallel Technology
Parallel Technology
 
CakePHP × 国産! baserCMS3の深化と今後の拡がり
CakePHP × 国産! baserCMS3の深化と今後の拡がりCakePHP × 国産! baserCMS3の深化と今後の拡がり
CakePHP × 国産! baserCMS3の深化と今後の拡がり
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方
 
クラウド概要 by Engine Yard
クラウド概要 by Engine Yardクラウド概要 by Engine Yard
クラウド概要 by Engine Yard
 
20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container Services20180220 AWS Black Belt Online Seminar - Amazon Container Services
20180220 AWS Black Belt Online Seminar - Amazon Container Services
 
ACRi panel_discussion_xilinx_hayashida_rev1.0
ACRi panel_discussion_xilinx_hayashida_rev1.0ACRi panel_discussion_xilinx_hayashida_rev1.0
ACRi panel_discussion_xilinx_hayashida_rev1.0
 
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
【IMJ】デジタルマーケティングを加速させるヒントがここに imj jelly cms 事例活用セミナー
 
Vitisのご紹介とAmazon EC2 F1体験デモ
Vitisのご紹介とAmazon EC2 F1体験デモVitisのご紹介とAmazon EC2 F1体験デモ
Vitisのご紹介とAmazon EC2 F1体験デモ
 
明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure明治大学理工学部 特別講義 AI on Azure
明治大学理工学部 特別講義 AI on Azure
 
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge TechnologiesMicrosoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
 
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
 
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうかWebアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
Webアプリに低レイテンシ・高可用性を求めるのは間違っているのだろうか
 
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
Cloud Days Tokyo 2015 "オンプレミス環境のクラウド化と運用を楽にする OpenStack ソリューション ~ハイブリッド・クラウドを...
 
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
CMSI計算科学技術特論B(15) インテル Xeon Phi コプロセッサー向け最適化、並列化概要 1
 
[Oracle Innovation Summit Tokyo 2018] Fn Project: Next Generation Serverless ...
[Oracle Innovation Summit Tokyo 2018] Fn Project: Next Generation Serverless ...[Oracle Innovation Summit Tokyo 2018] Fn Project: Next Generation Serverless ...
[Oracle Innovation Summit Tokyo 2018] Fn Project: Next Generation Serverless ...
 
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはたった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
 
YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略YJTC18 A-1 大規模サーバの戦略
YJTC18 A-1 大規模サーバの戦略
 

Mais de 直久 住川

Mais de 直久 住川 (20)

公開用_講演資料_SCSK.pdf
公開用_講演資料_SCSK.pdf公開用_講演資料_SCSK.pdf
公開用_講演資料_SCSK.pdf
 
ACRi-Webinar_Feb2023_agenda_20230225.pdf
ACRi-Webinar_Feb2023_agenda_20230225.pdfACRi-Webinar_Feb2023_agenda_20230225.pdf
ACRi-Webinar_Feb2023_agenda_20230225.pdf
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
 
第11回ACRiウェビナー_インテル/竹村様ご講演資料
第11回ACRiウェビナー_インテル/竹村様ご講演資料第11回ACRiウェビナー_インテル/竹村様ご講演資料
第11回ACRiウェビナー_インテル/竹村様ご講演資料
 
2022-12-17-room.pdf
2022-12-17-room.pdf2022-12-17-room.pdf
2022-12-17-room.pdf
 
ACRiルーム副室長_安藤様_講演資料
ACRiルーム副室長_安藤様_講演資料ACRiルーム副室長_安藤様_講演資料
ACRiルーム副室長_安藤様_講演資料
 
DSF実行委員長_酒井様_講演資料
DSF実行委員長_酒井様_講演資料DSF実行委員長_酒井様_講演資料
DSF実行委員長_酒井様_講演資料
 
ACRi事務局_住川_講演資料
ACRi事務局_住川_講演資料ACRi事務局_住川_講演資料
ACRi事務局_住川_講演資料
 
VCK5000_Webiner_GIGABYTE様ご講演資料
VCK5000_Webiner_GIGABYTE様ご講演資料VCK5000_Webiner_GIGABYTE様ご講演資料
VCK5000_Webiner_GIGABYTE様ご講演資料
 
AMD_Xilinx_AI_VCK5000_20220602R1.pdf
AMD_Xilinx_AI_VCK5000_20220602R1.pdfAMD_Xilinx_AI_VCK5000_20220602R1.pdf
AMD_Xilinx_AI_VCK5000_20220602R1.pdf
 
第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料第9回ACRiウェビナー_セック/岩渕様ご講演資料
第9回ACRiウェビナー_セック/岩渕様ご講演資料
 
第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料第9回ACRiウェビナー_日立/島田様ご講演資料
第9回ACRiウェビナー_日立/島田様ご講演資料
 
20220525_kobayashi.pdf
20220525_kobayashi.pdf20220525_kobayashi.pdf
20220525_kobayashi.pdf
 
220526_ACRi_Ando01r.pdf
220526_ACRi_Ando01r.pdf220526_ACRi_Ando01r.pdf
220526_ACRi_Ando01r.pdf
 
2205ACRi_jinguji.pdf
2205ACRi_jinguji.pdf2205ACRi_jinguji.pdf
2205ACRi_jinguji.pdf
 
ACRiポジショントーク_山科.pdf
ACRiポジショントーク_山科.pdfACRiポジショントーク_山科.pdf
ACRiポジショントーク_山科.pdf
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
 
ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料
 
ACRiウェビナー:アジェンダ
ACRiウェビナー:アジェンダACRiウェビナー:アジェンダ
ACRiウェビナー:アジェンダ
 
Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...
Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...
Noriyuki Aibe, "High Efficiency Connection Method on Electric Signal Lines be...
 

VCK5000_Webiner_Fixstars様ご講演資料

  • 1. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Copyright © Fixstars Group AI エンジンの高速化テクニックの紹介: SIMD プログラミング 株式会社フィックスターズ ソリューション第四事業部 松田 裕貴
  • 2. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com AI Engine とは • 近年、DNN を始めとする高負荷な演算性能を要求する アプリケーションが増えている • 従来の FPGA (LUT + DSP) では DSP の集積度が低く、 演算性能が不足 • AI Engine は Versal に追加された新たな計算用のエンジンで、 従来の FPGA よりも非常に高い演算性能を達成可能 2 https://docs.xilinx.com/v/u/ja-JP/wp506-ai-engine
  • 3. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com AI Engine とは (cont.) • AI Engine アレーは 複数の AI Engine を メッシュ状に並べた演算ブロック • VC1902 では 400 AI Engine が存在 • 各 AI Engine 内にはプロセッサがある • 動作周波数は 1GHz 程度 • ベクタ命令をサポート • 256 OPS/cycle @ int8 • 64 OPS/cycle @ int16 • PL (Programmable Logic) とメモリを 介さずにデータのやり取りが可能 • FPGA の強みである低レイテンシなパイプライン内に 高負荷な演算を追加できる 3 https://japan.xilinx.com/products/technology/ai-engine.html
  • 4. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com AI Engine タイル • AI Engine の一つの島はタイルと呼ばれる • プロセッサとローカルメモリが含まれる • プロセッサは VLIW アーキテクチャで、 並列度の高いベクタ命令を発行可能 • 性能を出すにはベクタ命令の使い切りが 非常に重要 4 https://japan.xilinx.com/products/technology/ai-engine.html https://docs.xilinx.com/r/ja-JP/am009-versal-ai-engine
  • 5. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com AI Engine のメモリアーキテクチャ • AI Engine の 1つのコアからは 4方向のメモリに直接アクセス可能 • 赤色のコア -> 黄色のメモリ • メモリあたり 32KB • メモリへのアクセスは 高帯域かつレイテンシがほぼ一定 • ローカルメモリはコア間の データ共有にも使用可能 • ストリームインターフェース (cascade / AXI4) によるコア間通信も可能 5 https://docs.xilinx.com/r/ja-JP/am009-versal-ai-engine
  • 6. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com AI Engine で構成可能なデータフロー • AI Engine は PL 領域と AXI4 Stream プロトコルによる密なデータのやり取りが可能 • AI Engine の内部メモリやストリームにより、 様々な形の処理を実現できる 6 https://docs.xilinx.com/r/ja-JP/am009-versal-ai-engine
  • 7. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com データフローで速度を出すためには • AI Engine のアーキテクチャの特徴的な点 • PL のデータフローとストリーム IF で結合して処理できる • データフローの速度は最も遅いブロックに律速されるため、 AI Engine を含む処理では下記2点において十分な速度を出す必要が ある 1. データの送受信を行う PL ロジック 2. AI Engine の各ブロック • AI Engine の各ブロックの速度を出すには? • ⇒ アーキテクチャの理解・その性能の使い切りが重要となる 7
  • 8. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com AI Engine を用いたチューニング例: FIR フィルタ • FIR フィルタを例に AI Engine による処理のチューニング例を紹介 • AI Engine 上のプログラムは C/C++ で記述し、 FIR フィルタは以下のような処理になる 8 Source: https://en.wikipedia.org/wiki/Finite_impulse_response (※CC BY-SA 3.0により許諾されています。 https://creativecommons.org/licenses/by-sa/3.0/)
  • 9. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com aiesimulator による性能プロファイリング • AI Engine のツールチェーンには aiesimulator という サイクルアキュレートシミュレータが存在する • aiesimulator では命令単位のプロファイル結果を出すことができ、 性能の見積もりに役立つ 9 FIR フィルタのプロファイル結果。最も内側のループで LOAD, LOAD, ADD, MUL で 4cycle 使用する 積和計算処理 積和計算処理
  • 10. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com SIMD 命令の使用 • AI Engine は SIMD (Single-Instruction Multiple-Data) 命令を 使うことで理想的な性能を達成可能 • スカラ命令のみの場合は 1OPs/tile しか出ないが、 SIMD 命令を使うと int16 の場合は 64OPs/tile まで達成可能 • 効率の良いシステムを作るには、これらを使うことが非常に重要 10 https://japan.xilinx.com/products/technology/ai-engine.html
  • 11. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com SIMD の適用 • AI Engine で開発を行う場合、 2つの方法で SIMD 命令を使用するよう コンパイラに指示ができる • Intrinsics 命令の使用 • AIE API の使用 • Vitis Libraries にはチューニング済みの カーネルが存在するため、 これらを使うことも可能 11 Intrinsics 命令の例 https://www.xilinx.com/htmldocs/xilinx2021_2/aiengine_intrinsics/intrinsics/
  • 12. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com SIMD の適用 12 SIMD 化 9cycles の間に 8回 64ops の命令を発行 (SIMD化前は 2ops/4cycle)
  • 13. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com SIMD 適用後の処理速度 • VCK5000 上に検証環境を作成した • SIMD 適用前後で比較したところ、88倍の速度向上となった • AI Engine の使いこなしには、SIMD 命令を使うことが非常に重要 13 デザイン M Samples / sec (実機) SIMD による Speedup (実機) SIMD 適用前 0.146 x1 SIMD 適用後 12.86 x88 FPGA PL AIE NOC/DDR mm2s s2mm FIR Filter
  • 14. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Fixstars Corporation www.fixstars.com 本セッションのまとめ • AI Engine を使うと FPGA のデータフロー中に 大規模な演算ロジックを追加できる • AI Engine の性能を引き出すためには アーキテクチャを意識したチューニングが必要 • 適切なデータフローの設計 • AI Engine コア単位のチューニング • SIMD 命令を使うように自分でコードを書く • Vitis Libraries など、最適化済みのライブラリを使用する 14
  • 15. Fixstars Corporation www.fixstars.com Copyright © Fixstars Group Thank You お問い合わせ窓口 : contact@fixstars.com