SlideShare a Scribd company logo
昔ちょっとかじった人が
久しぶりにに触ってみた
15年ぶりだね
ああ、間違いない。FPGAだ
大和 一洋
第1回FPGAスタートアップセミナーLT
大学院時代、FPGAとの出会い
2000年代初頭
物理の実験(宇宙線測定)装置開発
多数のセンサ同時読み出しにFPGA利用
センサー
センサー
センサー
ADC
ADC
ADC
ALTERA
APEX
(VHDL)
ホストシステムへ
数千チャンネル
USB2.0
デバイス
コントローラ
直近10年ミラクル・リナックス社に勤務
Linux/OSSに関連したソフトウェア技術者
Linux OS デジタルサイネージ 運用監視ソフト
GStreamer, H.264
OpenGL (Mesa)
WebKit
(C++)
カーネル、ライブラリの不
具合調査・修正
(C言語)
GLib
MySQL, RabbitMQ
Django
(C++, Python, JS)
文字列分割(トークナイザ)をFPGAで
OSの基本機能のオフロードにトライ
文字列処理の基本機能: 分割
“I have a pen” ⇒ I, have, a, pen
■ C言語 strtok()
■ Java StringTokenier
■ Python split()
春から業務として取り組む
半年ぐらいフルタイム
● Xilinx Virtex-7 XC7VX690T-2
○ ALPHA DATA ADM-PCIE-7V3
■ PCI Express: x8, Gen3
● Vivado
● Vivado HLS (高位合成コンパイラ)
○ C++で記述
デバイスと開発環境
時間を要したところ
● 並列的な処理(高速化)のための方式開発
● ホストコンピュータとのデータ入出力効率化
○ デバイスドライバ
○ 効率的な転送のための高位合成コンパイラへの指示
本日、Tipsを共有したい
ホストとFPGAのデータ転送での問題
分割器
(C++)
AXI
PCIe
Bridge
(LogiCORE)
PCIe
Root
Complex
CPU
RAM
AXIインターフェイス PCI Express
FPGA
DMAエンジン
バースト
転送
バースト
転送
バースト
転送
バースト
転送
バースト
転送
シュミレーション 実動作
→時間→時間
期待(シュミレーション)
より長い
効率的なバースト転送のための設定
(1) for文やmemcpy()に与えるバースト長
(2) AXIインターフェイスへのパラメータ追加
#pragma HLS INTERFACE m_axi port=lengths offset=slave bundle=gmem
max_read_burst_length=32 latency=0
ベストな値は?
マニュアルでも曖昧な表現、試行錯誤的に決定
● 実機評価で初めて気づいたのでハマった
性能:対CPUで最大約10倍高速
入力サイズ数KB以下
(1) CPU:速い
(2) FPGA:一定
スループット
最大約4.2GiB/s
(1)
(2)
感想・まとめ
● 15年ぶりだけど、なんとか出来た
○ 高位合成、実用的と思うも、それ用に書く必要
■ 既存の資産の流用は難しいのでは
■ C++でもCPU用に書く場合と頭の使ってる場所が違う感じ
● PCI Expressカード
○ バースト転送の効率重要
■ Xilinx Vivado HLS: AXIインターフェイスのパラメータ設定
● レポートにまとめて、12月初めに会社から公開予定
● 実際は、SDAccel (OpenCL)でもやってみた
○ 興味ある方、お話しましょう

More Related Content

PDF
FPGAによるHDMI to LVDS変換器
PDF
FPGAアクセラレータの作り方
PDF
Linux : PSCI
PDF
SDSoC勉強会_170128_スライド「SDx 2016.3のプラグマによるハードウェアと性能」
PDF
FPGAスタートアップ資料
PDF
FPGAX6_hayashi
PDF
PDF
FPGAのトレンドをまとめてみた
FPGAによるHDMI to LVDS変換器
FPGAアクセラレータの作り方
Linux : PSCI
SDSoC勉強会_170128_スライド「SDx 2016.3のプラグマによるハードウェアと性能」
FPGAスタートアップ資料
FPGAX6_hayashi
FPGAのトレンドをまとめてみた

What's hot (20)

PPTX
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
PPTX
高速シリアル通信を支える技術
PDF
Takep lpc1114-190614
PDF
Fpgax 20130604
PDF
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
PPT
FPGA
PDF
Reconf_201409
PDF
高位合成ツールVivado hlsのopen cv対応
PDF
ACRi_webinar_20220118_miyo
PDF
増え続ける情報に対応するためのFPGA基礎知識
PDF
Zynq MPSoC勉強会 Codec編
PDF
ICD/CPSY 201412
PDF
Pynqでカメラ画像をリアルタイムfastx コーナー検出
ODP
NetBSD/Zynq
PDF
ソフトウェア技術者はFPGAをどのように使うか
PDF
Pynq祭り資料
PDF
Google 20130218
PPTX
Myoshimi extreme
PPTX
研究者のための Python による FPGA 入門
PDF
Gpu vs fpga
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
高速シリアル通信を支える技術
Takep lpc1114-190614
Fpgax 20130604
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGA
Reconf_201409
高位合成ツールVivado hlsのopen cv対応
ACRi_webinar_20220118_miyo
増え続ける情報に対応するためのFPGA基礎知識
Zynq MPSoC勉強会 Codec編
ICD/CPSY 201412
Pynqでカメラ画像をリアルタイムfastx コーナー検出
NetBSD/Zynq
ソフトウェア技術者はFPGAをどのように使うか
Pynq祭り資料
Google 20130218
Myoshimi extreme
研究者のための Python による FPGA 入門
Gpu vs fpga
Ad

Viewers also liked (20)

PPTX
20161120_HPCでFPGAを使ってみたい_fpgastartup
PPTX
IkaLog_FPGAStartup1
PDF
IkaLog osc2016tf
PDF
「大学院のススメ」dentooLT #15.5
PPTX
SDSoC でストリーム
PDF
FPGA Community
PDF
SDSoC 2016.3+yocto project
PDF
Fred explains IPv6
PPTX
Hdmi cables
PDF
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
PDF
Moving computation to the data (1)
PPTX
PPT
PDF
FPGAの部屋、slide share、xilinxツールのご紹介
PDF
15.06.27 実録 ソフトウェア開発者が FPGAを独習した最初の3歩@RTLを語る会(9)
PPTX
Zynq + Vivado HLS入門
PDF
FPGAX2016 ドキュンなFPGA
PDF
Bitcoinを技術的に理解する
PPTX
なにわTech20160827
PDF
Tensor flow usergroup 2016 (公開版)
20161120_HPCでFPGAを使ってみたい_fpgastartup
IkaLog_FPGAStartup1
IkaLog osc2016tf
「大学院のススメ」dentooLT #15.5
SDSoC でストリーム
FPGA Community
SDSoC 2016.3+yocto project
Fred explains IPv6
Hdmi cables
Xilinx SDSoC(2016.3)解体新書ソフトウェア編
Moving computation to the data (1)
FPGAの部屋、slide share、xilinxツールのご紹介
15.06.27 実録 ソフトウェア開発者が FPGAを独習した最初の3歩@RTLを語る会(9)
Zynq + Vivado HLS入門
FPGAX2016 ドキュンなFPGA
Bitcoinを技術的に理解する
なにわTech20160827
Tensor flow usergroup 2016 (公開版)
Ad

Similar to FPGA startup 第一回 LT (20)

PDF
マイクロソフトが考えるAI活用のロードマップ
PDF
GTC 2020 発表内容まとめ
PDF
GTC 2020 発表内容まとめ
PPTX
Starc verilog hdl2013d
PDF
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
PPTX
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
PPT
2010 04クラウド技術講座
PDF
Lispマシン ドキュメント和訳とか、 ちびLispとか
PDF
seccamp2012 チューター発表
PDF
第11回ACRiウェビナー_インテル/竹村様ご講演資料
PPTX
2014 1018 OSC-Fall Tokyo NETMF
PPTX
IIoTと産業イーサネットの提案
PDF
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
PDF
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
PDF
ちょっと古いマシンにLinuxを
PDF
FPGA+SoC+Linux実践勉強会資料
PDF
FPGAをロボット(ROS)で「やわらかく」使うには
PDF
産学間連携推進室(AC部屋) 2012 成果報告会
PDF
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
PDF
SDN Japan: ovs-hw
マイクロソフトが考えるAI活用のロードマップ
GTC 2020 発表内容まとめ
GTC 2020 発表内容まとめ
Starc verilog hdl2013d
IIJlab seminar - Linux Kernel Library: Reusable monolithic kernel (in Japanese)
Deep Learning Lab - Microsoft Machine Learning meetup 2018/06/27 - 推論編
2010 04クラウド技術講座
Lispマシン ドキュメント和訳とか、 ちびLispとか
seccamp2012 チューター発表
第11回ACRiウェビナー_インテル/竹村様ご講演資料
2014 1018 OSC-Fall Tokyo NETMF
IIoTと産業イーサネットの提案
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
そろそろビジネスに貢献するSDNを考えませんか?~キーワードは“オープン”~
ちょっと古いマシンにLinuxを
FPGA+SoC+Linux実践勉強会資料
FPGAをロボット(ROS)で「やわらかく」使うには
産学間連携推進室(AC部屋) 2012 成果報告会
[G-Tech2014講演資料] シスコのSDN最新動向とITインフラエンジニアに求められるスキル - シスコシステムズ合同会社
SDN Japan: ovs-hw

FPGA startup 第一回 LT