Submit Search
Sw技術者に送るfpga入門
0 likes
571 views
直
直久 住川
「SW技術者に送るFPGA入門」 講演者:FPGAインフォメーション/小山忠昭様
Engineering
Read more
1 of 45
Download now
Download to read offline
1
2
Most read
3
4
Most read
5
6
7
8
9
10
11
12
13
14
Most read
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
More Related Content
PDF
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
PDF
ChatGPTは思ったほど賢くない
Carnot Inc.
PDF
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
PDF
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
PDF
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
Hiroki Nakahara
PPTX
C#とILとネイティブと
信之 岩永
PDF
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
Takateru Yamagishi
PDF
TensorFlow計算グラフ最適化処理
Atsushi Nukariya
組み込み関数(intrinsic)によるSIMD入門
Norishige Fukushima
ChatGPTは思ったほど賢くない
Carnot Inc.
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
kiki utagawa
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
Hiroki Nakahara
C#とILとネイティブと
信之 岩永
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
Takateru Yamagishi
TensorFlow計算グラフ最適化処理
Atsushi Nukariya
What's hot
(20)
PPTX
なぜなにリアルタイムレンダリング
Satoshi Kodaira
PDF
Gpu vs fpga
Yukitaka Takemura
PDF
C++でCプリプロセッサを作ったり速くしたりしたお話
Kinuko Yasuda
PDF
Hopper アーキテクチャで、変わること、変わらないこと
NVIDIA Japan
PDF
CEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライド
Toshiyasu Miyabe
PDF
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
PDF
TLS, HTTP/2演習
shigeki_ohtsu
PPTX
DockerコンテナでGitを使う
Kazuhiro Suga
PDF
TensorFlow Lite Delegateとは?
Mr. Vengineer
PDF
実践イカパケット解析
Yuki Mizuno
PDF
1076: CUDAデバッグ・プロファイリング入門
NVIDIA Japan
PDF
分散学習のあれこれ~データパラレルからモデルパラレルまで~
Hideki Tsunashima
PDF
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
PPTX
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜
SSII
PPTX
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
PDF
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
PDF
eBPFは何が嬉しいのか
Yutaro Hayakawa
PPTX
研究者のための Python による FPGA 入門
ryos36
PDF
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
Fixstars Corporation
PDF
猫でも分かるUE4のポストプロセスを使った演出・絵作り
エピック・ゲームズ・ジャパン Epic Games Japan
なぜなにリアルタイムレンダリング
Satoshi Kodaira
Gpu vs fpga
Yukitaka Takemura
C++でCプリプロセッサを作ったり速くしたりしたお話
Kinuko Yasuda
Hopper アーキテクチャで、変わること、変わらないこと
NVIDIA Japan
CEDEC2015「加算合成コストが0になる!?すぐに使えるP-MAPブレンドテクニック」発表スライド
Toshiyasu Miyabe
計算機アーキテクチャを考慮した高能率画像処理プログラミング
Norishige Fukushima
TLS, HTTP/2演習
shigeki_ohtsu
DockerコンテナでGitを使う
Kazuhiro Suga
TensorFlow Lite Delegateとは?
Mr. Vengineer
実践イカパケット解析
Yuki Mizuno
1076: CUDAデバッグ・プロファイリング入門
NVIDIA Japan
分散学習のあれこれ~データパラレルからモデルパラレルまで~
Hideki Tsunashima
いまさら聞けないarmを使ったNEONの基礎と活用事例
Fixstars Corporation
SSII2020SS: 微分可能レンダリングの最新動向 〜「見比べる」ことによる3次元理解 〜
SSII
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
Fixstars Corporation
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
eBPFは何が嬉しいのか
Yutaro Hayakawa
研究者のための Python による FPGA 入門
ryos36
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
Fixstars Corporation
猫でも分かるUE4のポストプロセスを使った演出・絵作り
エピック・ゲームズ・ジャパン Epic Games Japan
Ad
Similar to Sw技術者に送るfpga入門
(20)
PPTX
FPGAでベンチマークしたときに苦労した話@fpgax#12
Jun Ando
PDF
FPGA Community
Mr. Vengineer
PDF
Riscv+fpga200606
たけおか しょうぞう
PPTX
FPGAで遊んでみた
Akira Kaneda
PDF
Nakahara_ACRi_panel-discussion_25_march2021
直久 住川
PPTX
Hdmits fpgax6-v0
aomtoku
PDF
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
PDF
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Shinya Takamaeda-Y
PPTX
Fpga programming introduction
YukiFukuda3
PDF
Fuji sakuraでmbedを!
Tetsuya Noguchi
PPTX
高速シリアル通信を支える技術
Natsutani Minoru
PPTX
M5StackにFPGAをつないでみた
Kenta IDA
PPT
FPGA
firewood
PPTX
Myoshimi extreme
Masato Yoshimi
PDF
FPGAX6_hayashi
愛美 林
PDF
PYNQ祭りLT todotani
Kenshi Kamiya
PDF
Offloading BPF Implementation to FPGA-NIC したいねって話
slankdev
PDF
FPGAスタートアップ資料
marsee101
PDF
FPGA Traxコンテストについて
Yasunori Osana
PDF
東京FPGAカンファレンス2023パネルセッション資料(2023.6.2)
Koji Oyama
FPGAでベンチマークしたときに苦労した話@fpgax#12
Jun Ando
FPGA Community
Mr. Vengineer
Riscv+fpga200606
たけおか しょうぞう
FPGAで遊んでみた
Akira Kaneda
Nakahara_ACRi_panel-discussion_25_march2021
直久 住川
Hdmits fpgax6-v0
aomtoku
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
Shinya Takamaeda-Y
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Shinya Takamaeda-Y
Fpga programming introduction
YukiFukuda3
Fuji sakuraでmbedを!
Tetsuya Noguchi
高速シリアル通信を支える技術
Natsutani Minoru
M5StackにFPGAをつないでみた
Kenta IDA
FPGA
firewood
Myoshimi extreme
Masato Yoshimi
FPGAX6_hayashi
愛美 林
PYNQ祭りLT todotani
Kenshi Kamiya
Offloading BPF Implementation to FPGA-NIC したいねって話
slankdev
FPGAスタートアップ資料
marsee101
FPGA Traxコンテストについて
Yasunori Osana
東京FPGAカンファレンス2023パネルセッション資料(2023.6.2)
Koji Oyama
Ad
More from 直久 住川
(20)
PDF
20th ACRi Webinar - Kyoto SU Oura-san Presentation
直久 住川
PDF
20th ACRi Webinar - Kyoto SU Presentation
直久 住川
PDF
20th ACRi Webiner - Presentation by MathWorks
直久 住川
PDF
18th ACRi Webinar : Presentation Slide ; Fukuda-san, ChipTip Technology
直久 住川
PDF
18th ACRi Webinar : Presentation Material - Prof. Yamaguchi
直久 住川
PDF
16th_ACRi_Webinar_Kumamoto-Univ_Okawa_20240308.pdf
直久 住川
PDF
16th_ACRi_Webiner_SEC_Takebe_20240308.pdf
直久 住川
PDF
17th_ACRi_Webinar_Sadasue-san_Slide_20240724
直久 住川
PDF
公開用_講演資料_SCSK.pdf
直久 住川
PDF
ACRi-Webinar_Feb2023_agenda_20230225.pdf
直久 住川
PDF
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
直久 住川
PDF
第11回ACRiウェビナー_インテル/竹村様ご講演資料
直久 住川
PDF
2022-12-17-room.pdf
直久 住川
PDF
ACRiルーム副室長_安藤様_講演資料
直久 住川
PDF
DSF実行委員長_酒井様_講演資料
直久 住川
PDF
ACRi事務局_住川_講演資料
直久 住川
PDF
VCK5000_Webiner_GIGABYTE様ご講演資料
直久 住川
PDF
AMD_Xilinx_AI_VCK5000_20220602R1.pdf
直久 住川
PDF
VCK5000_Webiner_Fixstars様ご講演資料
直久 住川
PDF
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
20th ACRi Webinar - Kyoto SU Oura-san Presentation
直久 住川
20th ACRi Webinar - Kyoto SU Presentation
直久 住川
20th ACRi Webiner - Presentation by MathWorks
直久 住川
18th ACRi Webinar : Presentation Slide ; Fukuda-san, ChipTip Technology
直久 住川
18th ACRi Webinar : Presentation Material - Prof. Yamaguchi
直久 住川
16th_ACRi_Webinar_Kumamoto-Univ_Okawa_20240308.pdf
直久 住川
16th_ACRi_Webiner_SEC_Takebe_20240308.pdf
直久 住川
17th_ACRi_Webinar_Sadasue-san_Slide_20240724
直久 住川
公開用_講演資料_SCSK.pdf
直久 住川
ACRi-Webinar_Feb2023_agenda_20230225.pdf
直久 住川
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
直久 住川
第11回ACRiウェビナー_インテル/竹村様ご講演資料
直久 住川
2022-12-17-room.pdf
直久 住川
ACRiルーム副室長_安藤様_講演資料
直久 住川
DSF実行委員長_酒井様_講演資料
直久 住川
ACRi事務局_住川_講演資料
直久 住川
VCK5000_Webiner_GIGABYTE様ご講演資料
直久 住川
AMD_Xilinx_AI_VCK5000_20220602R1.pdf
直久 住川
VCK5000_Webiner_Fixstars様ご講演資料
直久 住川
第9回ACRiウェビナー_セック/岩渕様ご講演資料
直久 住川
Sw技術者に送るfpga入門
1.
SW技術者に送るFPGA入門 2021年11月2日 小山忠昭(basaro_k)
2.
自己紹介 小山 忠昭 (basaro_k@twitter) 有限会社FPGAインフォメーション所属(www.fpga.co.jp) FPGA歴も30年以上 主に、XILINXのFPGAのなんでも屋さんをしています。 (トレーニング、設計、コンサルなど、、、) FPGAが好きで、FPGAをやっています。
3.
目次 なぜFPGAをつかうのか 2021年版FPGA入門 HLSの魅力(C言語設計の破壊力)
4.
なぜFPGAを使うのか FPGAができて、35年。XILINX社のXC2000シリーズが最初。 FPGAの開発元、XILINX創業が1985年 デジタル回路なら何でもできるという触れ込み。 ただし、性能は低かったので、どこに使えばいいのか、わからなかった。 LC:200個(CLB 100個) 動作周波数:最大100 MHz 実質10~20MHz
5.
なぜFPGAを使うのか それでも、使ってくれるところがあった。 通信と、画像処理。 FPGAを育ててくれました。
6.
なぜFPGAを使うのか 今の時代のFPGA LC 1Mオーバー(500000倍) 周波数 500MHz以上 (50倍) CPU(ARM64bit) 内蔵メモリー DSP(演算ブロック) 高速トランシーバー 昔のFPGAと全く異なる性能
7.
なぜFPGAを使うのか、 今でも、通信と、画像処理は、 FPGAの主な使用目的の一つ。 通信も、画像処理も、処理能力は格段に増えた。
8.
なぜFPGAを使うのか 通信と、画像処理に育てられた、FPGAは、他の活用方法にも活用されます。 一部の業界で、常に速さを求められる。 金融業界、サーチエンジンの業界にも採用され始めた。 そして、、、いままで、FPGAを使っていない業界にも、期待されている。 より、高速化を求められる分野にもFPGAが検討される。
9.
FPGAが高速化に向いている理由 FPGAは動作速度を早くできる。 1:計算能力が高い 2:反応速度が早い
10.
FPGAが高速化に向いている理由 動作速度が早い。 簡単にいうと、計算できるブロックが沢山使えるということ。 性能は違うが演算を司る、 ALUは、CPUが数個から100個程度。 GPUが数千個程度 FPGAは、1000000個(LC) 高性能のALU で勝負 ALU ALU
ALU ALU ALU ALU ALU ALU ALU ALU ALU ALU CPUの場合 FPGAの場合
11.
FPGAが高速化に向いている理由 MPU メモリー FPGA メモリー 動作速度が早い。 CPU、GPUは計算ごとに、メモリーへの下記戻しが必要 FPGAは、内部メモリーで保存したまま、次の工程を実行できる。 速度のボトルネックになりやすい、メモリーとのデータのやり取りが
FPGAでは少なくなる。
12.
FPGAが高速化に向いている理由 反応速度が早い CPUや、GPUは、入出力データは、一度メモリーに保存する必要がある。 FPGAはメモリーを通さなくても、処理はできる。 CPU、GPU メモリ 処 理 FPGA 処 理 I/O I/O
メモリ
13.
2021年版FPGA入門 トレーニングをやっている関係上、よく質問が来ます。 どこを見れば、(何から始めれば)FPGAはできるか。 どこの情報を見れば、FPGAを動かすことができるのか? XILINXトップページをみても、できる気がしません? やりたいことに対して、どの情報が必要なのか、わからない。
14.
2021年版FPGA入門 今までのFPGAを動かすのに、必要なこと。 最初からやると、かなり大変。 (もちろん、やっている人もいますけど) プリント基板(ボード) FPGA ハードウェア設計 インターフェース、ドライバー設計 OS(組み込みLinux) アプリケーション 開発ツール Vivado 開発ツール Petalinux 開発ツール Viits
15.
2021年版FPGA入門 ソフトウェア技術者にでも、使える FPGAとは? 数年前から、すでに始まってました。 C言語だけで、FPGAのアクセスができるというツールです。
16.
2021年版FPGA入門 2019年からVitisというツールに変わりました。 プラットフォームを提供して、どの FPGAでも同じ用に開発できるようにする。 極力デバイスの違いを意識しないようにする。 ライブラリーを沢山揃える ソフトウェア感覚で動かせるようにしています。
17.
2021年版FPGA入門 Vitis プラットフォーム FPGA単体だけではなくて、 OSも含めた形で、FPGA開発環境を提供してくれる。 プリント基板(ボード) FPGA ハードウェア設計 インターフェース、ドライバー設計 OS(組み込みLinux) アプリケーション(FPGA設計含む) 開発ツール Vivado 開発ツール Petalinux 開発ツール Viits 枠の部分は XILINXが用意 してくれる。
18.
2021年版FPGA入門 現在ではFPGAは沢山の種類が増えてきてます。 パソコンやサーバータイプ FPGA単体で、CPUもついて、動作させるタイプ(組み込み型) 情報が多いものを中心に FPGA基板をご紹介。 プリント基板(ボード)
19.
2021年版FPGA入門 PCに入れるタイプ PCI Expressに接続します。 XILINX ALVEO U200 U50など。 この中に大規模なFPGAが入っています。 主にFPGAの大規模、高速演算性を期待しています。
20.
2021年版FPGA入門 FPGAをクラウドで使う 無料または、有料で、 FPGAが乗ったクラウドサーバーが使用できます。 Acriでは、無料でネットで FPGAボードが使える https://www.acri.c.titech.ac.jp/wp/ Amazon
AWS F1では、FPGAボードが使える https://aws.amazon.com/jp/ec2/instance-types/f1/
21.
2021年版FPGA入門 XILINXの純正ボード、代理店のボードを使う ZCU102 ZCU104 Ultra96V2 情報量が多いのが特徴 特にUltra96v2は安価なのが特徴
22.
2021年版FPGA入門 Kria KV260 を使う 今年、発表されたFPGAボード コストパフォーマンスがとても良い。 $199で購入できる。
23.
2021年版FPGA入門 Vitisプラットフォーム FPGAのベースの部分や、 OSの部分がまとまったファイル群。 アプリケーションで、ハードウェアを作成することができるようになったので、 各ボードによって、異なる。 すでに用意している場合や、自分で作成することもできる。 FPGA ハードウェア設計 インターフェース、ドライバー設計 OS(組み込みLinux)
24.
2021年版FPGA入門 プラットフォーム すでに用意してある場合。 XILINXのホームページから、ダウンロードできる。
25.
2021年版FPGA入門 ソースファイルからビルドも可能。 プロジェクトはオープンソースで公開されているので、プラットフォームをカスタマイズ したい人にも使用することができます。 特に、FPGAのハードウェアを 得意としている方は、 今後のプラットフォームの 作り方の参考になります。
26.
2021年版FPGA入門 Vitisでアプリケーションを作る。 Vitisはソフトを開発するためのツール CPUで動くソフトだけではなくて、 FPGAで動く、ハードウェアも作成できる。 アプリケーション(ハードウェア含む)
27.
2021年版FPGA入門 プラットフォームは一覧が出るので、そのなかから選択することができる。 お好みのがなければ、追加することが可能。
28.
2021年版FPGA入門 サンプルが沢山 参考になり、設計が楽になる。 ダウンロードして、使います。ツールが勝手にダウンロードしてくれる。
29.
2021年版FPGA入門 その他にも、Githubでアクセレータ(ハードウェア)ライブラリーを用意。 自分で作らなくても、ライブラリーをしようすれば ハードウェアが構成できる。 アプリケーション
30.
2021年版FPGA入門 Vitis 開発ツールの作業画面 この画面で、設計が行える。
31.
2021年版FPGA入門 Vitis で、SDカードイメージまで、作成してくれます。 後は、書き込みソフトや、コマンドで、 SDカードに書き込んだら、起動します。
32.
2021年版FPGA入門 FPGA基板がなくても、開発は進みます。 HW-SW協調エミュレータが搭載されました。 ソフトウェアの部分とハードウェアの部分が、パソコン上で動作確認できます。
33.
2021年版FPGA入門 Vitis プラットフォームを使うと、ベースの部分は XILINXが用意してくれる。 面倒な、インターフェースやドライバーもツールが作成してくれる。 ライブラリーも用意してくれる。 SDカードイメージまで作成してくれるので、手間が少なくなる。 設計者はアプリケーション作りに専念できる。 プリント基板(ボード) FPGA ハードウェア設計 インターフェース、ドライバー設計 OS(組み込みLinux) アプリケーション(FPGA設計含む) 開発ツール Vivado 開発ツール Petalinux 開発ツール Viits
34.
HLSの魅力(C言語設計の破壊力) VITIS と HLSの位置関係 Vitisには、HLSが含まれる。設計する仕組みは同じ Vitisは動作SDイメージまで作ってくれるが、
HLS単体だと、他のツールで 組み込む必要がある。 自分でインターフェース、ドライバーまで作らないと動作しない。 VITIS HLS
35.
HLSの魅力(C言語設計の破壊力) HLSとは、高位合成ツールの略で、主にC言語から、ハードウェアを作成する。 今まで、(RTL)の設計に比べると、設計時間が早い。 また、設計の自由度は高い ソフトウェア RTL(Verilog VHDL)
HLS 設計時間 とても早い とても時間がかかる ソフトより遅いが、 RTLよりは早い 動作速度 遅い はやい はやい ときにはRTLよりも
36.
HLSの魅力(C言語設計の破壊力) C言語設計の期待と結果 XILINXのHLS が無料になったのは、2015年です。 このときから、FPGAにHLSの波が始まりました。 期待:世の中のCで作ったソースが、そのまま、ハードウェア化できる 結果:C言語の形はしているけど、まるで、新しい言語を覚えているみたい。。(失望) 新規設計には、向いているが、今まである Cソースコードをそのまま動くのとは違う。
37.
HLSの魅力(C言語設計の破壊力) Acri の HLS チャレンジ ハフマンエンコードの高速化にチャレンジ 1024キャラクタをエンコードする
38.
void encode(uint8_t data[SIZE],
uint64_t code[256], uint64_t code_size[256], uint8_t out[SIZE*8]) { uint64_t out_bits = 0; for (int i = 0; i < SIZE; i++) { uint64_t c = code [data[i]]; uint64_t s = code_size[data[i]]; while (s > 0) { int b = std::min(s, 8 - out_bits % 8); out[out_bits / 8] |= ((c >> (s - b)) & (( 1 << b) - 1)) << (8 - out_bits % 8 - b); out_bits += b; s -= b; } } } ハフマンコードのエンコーダ部分 SWにやるにしろ、HWにやるにしろ、Loopの中が苦手な構造。
39.
HLSの魅力(C言語設計の破壊力) ハフマンエンコードは圧縮技術によく使われ、 ZIPなどの、圧縮ファイルや JPEGなどの画像ファイルなどで、よく使われます。 有名なので、オープンソースもかなり見ます。 一般的に、圧縮技術は、ワード可変長になるため、高速化するのが難しく、 時間がかかる要因の一つになっている。 1クロックあたり、2キャラクタできれば実現できれば、早い方。
40.
HLSの魅力(C言語設計の破壊力) 設計は Cシミュレーション C論理合成 Coシミュレーション で行っていきます。 C言語でプログラムを書いていく感じで進みます。 ソースコード自体はそのままでも、動作はします。
41.
HLSの魅力(C言語設計の破壊力) ここで、高速化のためにソースコードをいじります。 並列化とパイプライン化 HLSのツールの結果をみながら、高速化を試します。
42.
HLSの魅力(C言語設計の破壊力) HLSで2日ほど、かけて高速化してみました。 1クロックあたり、16キャラクタの処理ができるようになりました。
43.
HLSの魅力(C言語設計の破壊力) 詳しいことは、他の人が解説してくれると思いますが、 設計当初は、1クロック1キャラクタでれば、かなり早いのではと 思って設計してました。 ここまで、高速化になったのは、最近の HLSのバージョンのできごとです。 2年前のHLSでしたら、ここまでの高速化は不可能でした。 できたとしても、記述も変更していいかもしれません。
44.
HLSの魅力(C言語設計の破壊力) 同じことを、RTL(Verilog、VHDL)で可能かと考えたとき、同じことができるか できたとしても、2日では無理で、1ヶ月ぐらいかかってたかもしれません RTLの場合、高速化に必要な、並列化及びパイプライン化は設計に時間がかかります。
45.
ご清聴ありがとうございました FPGAも日々進化して、使いやすくなっています。 ぜひ、FPGAライフ楽しんでくださいね。
Download