SlideShare a Scribd company logo
1 of 51
Download to read offline
若手による高性能コンピュータシステムの最新動向解説
FPGA・リコンフィギャラブル
システム研究の最新動向
高前田 伸也
奈良先端科学技術大学院大学 情報科学研究科
E-mail: shinya_at_is_naist_jp
2015年3月11日 13:00-15:55
FPGAとは?
2015-03-11 Shinya T-Y, NAIST 2
Heterogeneous Computing Era
OoO
Core
OoO
Core
OoO
Core
OoO
Core
L2 L2 L2 L2
L3 Cache
DDR3 DRAM
Multicore (Intel Corei7)
L2 Cache
GDDR5 DRAM
GPU (NVIDIA GeForce)
DDR3 DRAM
Manycore (Intel Xeon Phi)
DDR3 DRAM
FPGA (Xilinx Virtex-7)
2015-03-11 Shinya T-Y, NAIST 3
FPGA (Field Programmable Gate Array)
n  中身を改変可能なLSI
(PLD: Programmable Logic Device)
l  設計者が独自のデジタル回路を形成することができる
l  対してCPUやGPUはFLD (Fixed Logic Device)?
n  CPUなどとの大きな違いは?
l  CPUの振る舞いはソフトウェア(プログラム)で規定される
•  ユーザはCPUそのものの回路を変更することはできない
l  FPGAの振る舞いはハードウェアそのものの変更で変えられる
Digital circuits
2015-03-11 Shinya T-Y, NAIST 4
Basic Structure of an FPGA (Island-Style)
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
SB
CB
SB
CB
SB
CB
SB
IOB
IOB
IOB
IOB
IOB
IOB
IOBIOBIOB
IOBIOBIOB
FPGA
SB
LB
CB
IOB
Logic Block
Switch Block
Connection Block
I/O Block
Wire
•  An LB has logical
circuit components for
both combinational
circuits and sequential
circuits
•  They are connected via
interconnection
components (SB, CB
and wire)
2015-03-11 Shinya T-Y, NAIST 5
Basic Structure of an FPGA (Island-Style)
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
SB
CB
SB
CB
SB
CB
SB
IOB
IOB
IOB
IOB
IOB
IOB
IOBIOBIOB
IOBIOBIOB
FPGA
SB
LB
CB
IOB
Logic Block
Switch Block
Connection Block
I/O Block
Wire
•  An LB has logical
circuit components for
both combinational
circuits and sequential
circuits
•  They are connected via
interconnection
components (SB, CB
and wire)
2015-03-11 Shinya T-Y, NAIST 6
Logic Block
n  Two basic elements in a logic block
l  LUT (Look Up Table): for combinational circuits
l  Flip-flop: for memory (sequential circuits)
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
CB
LB
SB
CB
SB
CB
SB
CB
SB
CB
SB
IOB
IOB
IOB
IOB
IOB
IOB
IOBIOBIOB
IOBIOBIOB
FPGA
Logic Block
LUT
D Q
2015-03-11 Shinya T-Y, NAIST 7
LUT: Look Up Table
n  LUTs realize combinational logics
n  An LUT returns a 1-bit value corresponding to the input
bit-vector (=Boolean function)
l  N-input LUT has 2N combinations of results: 4-input LUT has 16
a[0]
a[1]
a[2]
a[N-1]
N-input
LUT
b
Input Output
000…0 0
000…1 1
… …
111…1 0
2015-03-11 Shinya T-Y, NAIST 8
FPGA in Anywhere
n  LSI設計・検証のプラットフォームとして
l  LSIの機能を製造前に検証
l  HWの完成を待たなくても
SWの開発検証ができる
l  ソフトウェアシミュレータによる
回路シミュレーションよりも
高速に検証できる
n  最終製品に組み込むLSIとして
l  画像処理
l  ネットワーク機器
n  アクセラレータとして
l  データベースエンジン
l  ウェブ検索エンジン
l  証券取引アクセラレータ
l  石油探索アクセラレータ
Object
Detection
Stock Trading
2015-03-11 Shinya T-Y, NAIST 9
ASIC vs. FPGA
n  ASIC (Application Specific Integrated Circuit)
l  それぞれのアプリケーションに特化した専用回路を設計
•  専用パイプライン・高い周波数で高い性能
n  FPGA (Field Programmable Gate Array)
l  どのアプリケーションも数種類のFPGAで実現:少量生産もOK
l  製品リリース後の回路構成の改変が可能
The number of units
Cost
ASIC
FPGA
FPGA is cheaper ASIC is cheaper
2015-03-11 Shinya T-Y, NAIST 10
増え続けるFPGAの回路規模
n  トランジスタの
スケーリングにより
FPGの回路規模も増大
l  5年で6倍以上に増加
l  今後も更なる増加が予想
•  マルチダイ化
•  3次元積層
n  その分設計が大変に
l  設計検証の時間が増大
l  効率的な開発方式が必要
•  RTLのみの開発の限界
•  高位合成処理系の利用
From Xilinx UG8722015-03-11 Shinya T-Y, NAIST 11
FPGAボードの基礎
Xilinx VC707 Evaluation Board
価格: 40万円程度
PCI-express
(Connected to PC)
FPGA
(Xilinx Virtex-7 XC7V485T)
Ethernet
DDR3 SODIMM DRAM
(Memory)
SD Card
Power In
2015-03-11 Shinya T-Y, NAIST 12
Digilent NetFPGA SUME
FPGA
(Xilinx Virtex-7 XC7V690T)
DDR3 SODIMM
(4GB x2)
PCI-express10Gbps Ethernet x4
SATA-3 x2
価格: $24,500 (アカデミック価格: $1,695)
2015-03-11 Shinya T-Y, NAIST 13
Digilent Nexys3
FPGA: Xilinx Spartan-6 LX16
Size: Pipelined CPU ×2
Price: 2万円?(アカデミック)
Digilent ZedBoard
FPGA: Xilinx Zynq-7020
Size: Pipelined CPU ×8 (+ ARM DualCore)
Price: 5万円 (アカデミック)
2015-03-11 Shinya T-Y, NAIST 14
ScalableCore System
FPGA: Xilinx Spartan-6 ×100
Size: Pipelined CPU x200?
Price: 100万円程度?
2015-03-11 Shinya T-Y, NAIST 15
How to Develop a Software?
Writing a software
in programming languages
Preprocess
Compile
Assemble
Link
CompilerFlow
Execution on a CPU
int main(){�
int a = 1 + 2;�
printf(“Hello %dn”, a);�
return 0;�
}�
add $t0, $t1, $t2�
li $v0, 1�
syscall�
ELF01ABF00F1...�
Executable Binary
2015-03-11 Shinya T-Y, NAIST 16
How to Develop a (FPGA) Hardware?
Writing a hardware design in HDL
(Hardware Description Language)
Synthesis
Technology Mapping
Place and Route
Bitstream Generation
EDAFlow
Configuration of the bitstream
to an FPGA
module top�
(input CLK, RST, �
output reg [7:0] LED);�
always @(posedge CLK) begin�
LED <= LED + 1;�
end�
endmodule�
1A0C021E...�
Original HW on an FPGA
Bitstream
2015-03-11 Shinya T-Y, NAIST 17
近年のFPGAを取り巻く環境
2015-03-11 Shinya T-Y, NAIST 18
ARM搭載FPGAの登場 (1)
n  ARMプロセッサ+FPGA (Xilinx Zynq, Altera SoC)
l  専用インターコネクトで密結合,キャッシュ・DRAM共有
l  普通のLinuxが動作する→大量なソフトウェア資源が利用可能
Zynq-7000 All Programmable SoC
http://japan.xilinx.com/products/silicon-devices/soc/zynq-7000.html
AlteraのARMベースSoC
https://www.altera.com/ja_JP/pdfs/literature/br/br-soc-fpga_j.pdf
2015-03-11 Shinya T-Y, NAIST 19
ARM搭載FPGAの登場 (2)
n  普通のFPGAとは何が違う?
l  そもそも通常のFPGA上もCPU搭載可能(ソフトマクロ)
l  コア性能が数倍∼10倍違う
•  MicroBlaze: 100MHz∼200MHz, In-order, Single issue
•  ARM: 600MHz∼1GHz, OoO, Super scalar
n  独自のHW/SW協調SoCの実現が容易になる
l  面倒な処理は処理はCPU上のソフトウェアで実現
•  ネットワーク・ファイルシステムなど
l  並列処理部はFPGA上の専用ハードウェアで実現
•  並列度とメモリ帯域に応じて演算器を追加し高速化
•  必要に応じて演算精度を削り更に高速化
l  データ共有が遅いんじゃないの?
•  PCI-e経由よりも通信オーバーヘッドは小さい
–  キャッシュ・DRAM共有のおかげ
2015-03-11 Shinya T-Y, NAIST 20
例)Zynq 7000 アーキテクチャ
n  ARM Cortex-A9 (Dual-core, OoO, 8-stage)
n  3種類のCPU-PL間接続 (すべてAXIインターフェース)
AXI GP Port AXI HP Port
AXI
ACP
Port
Cache
DRAM
GP
•  低速
•  制御レジスタ
アクセス用
HP
•  高バンド幅
•  DRAMへの
バースト転送向け
ACP
•  低レイテンシ
•  キャッシュ
コヒーレント
•  CPUとの
データ共有向け
http://www.ioe.nchu.edu.tw/Pic/CourseItem/4468_20_Zynq_Architecture.pdf
http://japan.xilinx.com/support/documentation/data_sheets/j_ds190-Zynq-7000-Overview.pdf
2015-03-11 Shinya T-Y, NAIST 21
浮動小数点ユニット搭載FPGA
n  従来FPGAのDSP(乗算)ユニットは整数のみ対応
l  浮動小数点演算は変換ロジックを組み合わせて実現
(ソフトマクロ)→大きな回路・電力オーバーヘッド
•  そのため浮動小数点演算ではGPUが有利だった
n  Altera次期モデルがハードマクロ浮動小数点DSPを搭載
l  コンピューティングデバイスとしてのFPGAの利用が増加?
Altera Expands Floating-Point Hardware Support Across
Its Product Lines
http://www.bdti.com/InsideDSP/2014/07/22/Altera
2015-03-11 Shinya T-Y, NAIST 22
IPコアベースのシステム開発環境の普及
n  IPコアを開発・追加して繋げばシステム完成J
l  標準的なインターコネクトでIPコア達を接続
l  EDAツールが自動的にインターコネクトと(いくつかの)
デバイス依存のインターフェースを生成してくれるため楽
l  いかにしてIPコアを簡単に開発するかが重要
Xilinx Platform Studio (XPS)
IP-core List
Interconnect
FPGA
CPU
HW
Acc
DRAM
I/F
Ether PCI-E
Interconnect
HW
Acc
DRAM
IP-core
Instances
2015-03-11 Shinya T-Y, NAIST 23
高位合成処理系の普及
n  FPGA向け商用高位合成ツールが多数登場
l  Xilinx Vivado HLS
•  C/C++で振る舞いを定義・プラグマ追加で性能チューニング
l  その他C言語ベースImpulse C・CWB・eXCiteなど
l  OpenCLベース: Altera OpenCLやXilinx SDAccel
•  ホストPCありき・ホストPC上SWのお作法も定義
https://www.youtube.com/
watch?v=URUVkq6zQhQ
2015-03-11 Shinya T-Y, NAIST 24
オープンソースな高位合成ツールの登場
n  LegUp: トロント大で開発されているCベース処理系
l  C記述をMIPS CPU用SW部とHW部に自動分割・論文多数
n  Synthesijer: Javaによる高位合成処理系
l  Java言語仕様に改変なし,サブセットをそのまま合成可能
9
クイックスタート 5/8
(5) 間隔をおいて変数ledをtrue/falseするプログラムを書く
Lチカに相当する変数
適当なウェイト
点滅
自動コンパイルが裏で動くので,Javaコードとしての正しさは
即座にチェックされる
2
Synthesijer とは
✔ JavaプログラムをFPGA上のハードウェアに変換
✔ 複雑なアルゴリズムのハードウェア実装を楽に
✔ オブクジェクト指向設計による再利用性の向上
✔ 特殊な記法,追加構文はない
✔ ソフトウェアとして実行可能.動作の確認、検証が容易
✔ 書けるプログラムに制限は加える
(動的なnew,再帰は不可など)
Javaコンパイラ
フロントエンド
Synthesijer
エンジン
Javaコンパイラ
バックエンド
合成
配置配線
while(){
if(...){
…
}else{
…
…
}
….
}
複雑な状態遷移も,Javaの制御構文を使って楽に設計できる
同じJavaプログラムをソフトウェアとしても
FPGA上のハードウェアとしても実行可能
Open-source
http://www.sigemb.jp/ESS/2014/files/IPSJ-ESS2014003-1.pdf
2015-03-11 Shinya T-Y, NAIST 25
国際会議等にみる傾向
2015-03-11 Shinya T-Y, NAIST 26
主要な国際会議・論文誌
n  国際会議
l  FCCM, ACM FPGA, FPL, FPT, ASAP, ReConFig, ARC, HEART
l  計算機アーキテクチャ全般やLSI設計技術を対象とする国際会議
でも頻繁に取り扱われる
•  計算機アーキテクチャ系: ISCA, MICRO, ASPLOS, HPCA
•  LSI設計技術系: DAC, ASP-DAC, DATE
l  その他データベース系やプログラミング言語系の国際会議でも
n  論文誌
l  ACM Tr. on Reconfigurable Technology and Systems (TRETS)
l  IEICE英文論文誌D Special Section on Reconfigurable Systems
2015-03-11 Shinya T-Y, NAIST 27
主要国際会議におけるRECONF研究動向
n  定番のテーマ
l  画像処理
l  バイオインフォマティクス
l  ネットワーク処理 (IPv6パケット処理)
l  ソフトプロセッサ (CPU on FPGA)
l  CGRAアーキテクチャ
n  最近の流行
l  データベース (NoSQL, memcached)
l  機械学習 (Deep Learning)
l  設計技術 (HW/SW協調設計・抽象化方式・設計支援)
l  高位合成言語 (C/Java/etc-to-HDLコンパイラ・最適化)
2015-03-11 Shinya T-Y, NAIST 28
Memcachedアクセラレータ
n  FPGAイーサでmemcachedのリクエストをキャッシュ
ホストに行くリクエストを減らす[Fukuda+, FPL’14]
n  GET処理アクセラレータをNICに入れてメモリ共有
[Lim+, ISCA’13]
2015-03-11 Shinya T-Y, NAIST 29
システムレベル設計支援:メモリ抽象化
n  オンチップメモリは高速だが小さい→仮想メモリ導入
n  LEAP[Adler+,FPGA’11]
l  オンチップメモリ・ボードメモリ・ホストメモリを合わせて抽
象化するライブラリ
l  キャッシュ階層によりFPGA上のメモリを仮想的に拡大
n  flipSyrup[Takamaeda+,ReConFig’14]
l  巨大なオンチップメモリが利用できることを想定して
ハードウェア設計が可能に(仮想メモリ on Verilog HDL)
Read
Write
RAM
1-cycle RAMs w/o Capacity Limits
RAM RAM
Logic
(a) Baseline Design
Read
Write
Sub-logic
0
Abst
Memory
Abst
Memory
Abst
Channel
Abst
Channel
Read
Write
Virtual Connection
Region 0
Sub-logic
N-1
Abst
Memory
Abst
Channel
Region N-1
= Entire Original Logic
(b) Partitioned Design
Memory
I/F
Memory
I/F
Channel
I/F
Channel
I/F
Stall
I/OInterface
(Ser/Des)
Off-chip DRAM
On-chip Bus Interface
(AXI4 or Handshake)
Cache
FIFO
Controlled
Simulation
Target
Cycle-Accuracy
Manager
Cache
FIFO
On-chip Interconnect
Other
IP-core
or
CPU
(If
needed)
Abstraction IP-core (Region 0)
(Automatically Generated)
FPGA
Region 0
I/O
Abstraction System
Sub-logic
0
FPGA
Region N-1
Connected to Other FPGAs
(c) Generated System2015-03-11 Shinya T-Y, NAIST 30
CoRAM [Chung+,FPGA’11]
n  FPGAアクセラレータのためのメモリ抽象化
l  高位モデルによるメモリ管理でアクセラレータをポータブルに
•  計算カーネルとメモリアクセスの分離
•  ソフトウェアのモデルによるメモリアクセスパターンの記述
HW Kernels
(Computing Logics)
CoRAM
Memory
Read
Write
Manage
Control Threads
(Memory Access
Pattern)
CoRAM
Channel
Read/Write Read/Write
Communication
FIFOs (Registers)
Abstracted
On-chip Memories
Off-chip
Memory
2015-03-11 Shinya T-Y, NAIST 31
PyCoRAM [Takamaeda+,CARL’13]:
CoRAM for Modern EDKs
n  CoRAMのメモリ抽象化を今時のEDKで使いたい
l  標準的なインターコネクト(AXI4/Avalon)に繋ぎたい
l  そうすれば他の普通のIPコアとも簡単に共存できそう
Standard On-chip Interconnect
CoRAM
Abstraction
Accelerator logic
Standard IP-core
Device-dependent Interfaces
CPU core
Portable application
design with CoRAM Cooperation with standard IP-cores
2015-03-11 Shinya T-Y, NAIST 32
PyCoRAMマイクロアーキテクチャ
PyCoRAM IP
User
I/O
User Logic
CoRAM
Channel
CoRAM
Register
Control
Thread
Master
DMAC
CoRAM
Memory
Master
DMAC
CoRAM
Stream
FSM
GPIO
Slave
DMAC
CoRAM
IoChannel
2015-03-11 Shinya T-Y, NAIST 33
PyCoRAM IP
User
I/O
User Logic
CoRAM
Channel
CoRAM
Register
Control
Thread
Master
DMAC
CoRAM
Memory
Master
DMAC
CoRAM
Stream
FSM
GPIO
Slave
DMAC
CoRAM
IoChannel
PyCoRAMマイクロアーキテクチャ
Modeled in RTL
(Verilog HDL)
Memory Access
Pattern
in Python
2015-03-11 Shinya T-Y, NAIST 34
PyCoRAMマイクロアーキテクチャの実装
PyCoRAM IP
Interconnect (AXI4/Avalon)
DRAM ControllerFPGA
User
I/O
User Logic
CoRAM
Channel
CoRAM
Register
Control
Thread
Master
DMAC
Master I/F
CoRAM
Memory
Master
DMAC
Master I/F
CoRAM
Stream
Slave I/F
FSM
GPIO
Slave
DMAC
CoRAM
IoChannel
2015-03-11 Shinya T-Y, NAIST 35
PyCoRAMマイクロアーキテクチャの実装
PyCoRAM IP
Interconnect (AXI4/Avalon)
DRAM ControllerFPGA
User
I/O
User Logic
CoRAM
Channel
CoRAM
Register
Control
Thread
Master
DMAC
Master I/F
CoRAM
Memory
Master
DMAC
Master I/F
CoRAM
Stream
Slave I/F
FSM
GPIO
Slave
DMAC
CoRAM
IoChannelMaster:
メモリ等へ能動
的にアクセス
Slave:
プロセッサ等から
読み書きされる
2015-03-11 Shinya T-Y, NAIST 36
PyCoRAMにおける開発フロー
n  計算カーネルのRTLとPythonでのコントロールスレッド
記述からIPコアパッケージを生成
l  生成されたIPコアは通常のEDAフローで利用可能
User-logic
(Verilog HDL)
Control
Threads
(Python)
Logic
Hierarchy
Analysis
Python-to-
Verilog
Compilation
Control
Signal
Insertion IP-core
Packing
(RTL,
.mpd,
and
.pao)
IP-core
Integration
on EDK
Synthesis
Control
Signal Port
Addition
FPGA
Bit
File
Portable
Application
Design
PyCoRAM Tool-chain Vendor EDA FlowPython-to-Verilog HLS
RTL Conversion
IP-core
generation
with AXI4
Interface
Top design
synthesis with
AXI4
2015-03-11 Shinya T-Y, NAIST 37
新たなハードウェア記述言語
n  Verilog HDL/VHDLの問題点
l  すべてをレジスタ転送レベルで書かなければならないため大変
l  抽象度・再利用性が低い
n  Verilog HDL/VHDLに変わる新しいHDL
l  Bluespec: System Verilog + Haskell風味
l  Chisel: Scalaベースのハードウェア設計DSL
l  Synthesijer.Scala: ScalaでHDLを生成
2015-03-11 Shinya T-Y, NAIST 38
PyMTL [Lockhart+,MICRO’14]
Derek Lockhart+: PyMTL: A Unified Framework for Vertically Integrated Computer Architecture Research, ACM/IEEE MICRO-47 (2014)
Pythonでハードウェアを記述
3つのパラダイムをサポート
•  Functional Level (FL)
•  Cycle Level (CL)
•  Register Transfer Level (RTL)
2015-03-11 Shinya T-Y, NAIST 39
機械学習アクセラレータ
2015-03-11 Shinya T-Y, NAIST 40
CNN and DNN
n  CNN: Convolutional Neural Network
l  畳み込みニューラルネットワーク
•  畳み込み演算・プーリング(選択)を多層に積む
From “DaDianNao: A Machine-Learning Supercomputer (MICRO’14)”
2015-03-11 Shinya T-Y, NAIST 41
Deep Learning on FPGAs
n  データフローアーキテクチャの採用
l  ニューロン・シナプスの値が乗算・加算パイプラインを流れる
n  ニューロンのネットワークをHW実装したわけではない
l  DNNモデルを高速化し何かを予測したいだけ
Zhang+, Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks, FPGA’15
2015-03-11 Shinya T-Y, NAIST 42
FPGA-based Machine Learning System
n  Microsoft Bing Search Engine (Catapult)
l  A commercial FPGA-based web search engine
l  Machine-learning (DNN) algorithms as hardware pipeline
Putnam+, A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services, ISCA'14
2015-03-11 Shinya T-Y, NAIST 43
DaDianNao: A Machine-Learning Supercomputer
n  CNN/DNNのためのプログラマブルアクセラレータ
n  IEEE/ACM MICRO’14ベストペーパー
l  µアーキテクチャのトップカンファレンスでベストペーパー
We show that, on a subset of the largest known neural network layers,
it is possible to achieve a speedup of 450.65x over a GPU, and reduce
the energy by 150.31x on average for a 64-chip system.
2015-03-11 Shinya T-Y, NAIST 44
Chip Layout of DaDianNao
2015-03-11 Shinya T-Y, NAIST 45
Multi-chip System for large network
2015-03-11 Shinya T-Y, NAIST 46
Various Operations on Identical NFU
2015-03-11 Shinya T-Y, NAIST 47
Energy Reduction (Inference)
n  GPUと比較して150倍程度電力効率を改善
l  必要なメモリeDRAMでオンチップに入れてしまい
それを沢山ならべてしまえば高効率
2015-03-11 Shinya T-Y, NAIST 48
今後の展望
2015-03-11 Shinya T-Y, NAIST 49
今後の展望
n  FPGA+CPU+GPU?
l  Zynq Ultrascale: ARM64 Quad-coreを搭載するFPGAをリリース
n  →シングルチップヘテロジニアスシステムが普及
l  開発支援・プログラミングモデルがより重要に
l  高位合成処理系・デバッグ環境等の整備が必要
2015-03-11 Shinya T-Y, NAIST 50
まとめ
n  FPGAとは?
n  近年のFPGAを取り巻く環境
l  ARM搭載FPGAの搭載
l  ハードマクロ浮動小数点ユニットの搭載
l  安価な商用高位合成系の普及
l  オープンソース高位合成系の登場
n  国際会議等にみる傾向
l  データベース
l  機械学習(ディープラーニング)
l  設計支援・高位合成処理系
l  専用アクセラレータ
2015-03-11 Shinya T-Y, NAIST 51

More Related Content

What's hot

Hopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないことHopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないことNVIDIA Japan
 
高位合成でDeep learning
高位合成でDeep learning高位合成でDeep learning
高位合成でDeep learningMori Labo.
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)marsee101
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編Fixstars Corporation
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門Fixstars Corporation
 
CPUの創りかた
CPUの創りかたCPUの創りかた
CPUの創りかたfumi_maker
 
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -zgock
 
GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)智啓 出川
 
Vivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリームVivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリームmarsee101
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAryos36
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理Takuya ASADA
 
Fpgaでの非同期信号の扱い方とvivadoによるサポート(公開用)
Fpgaでの非同期信号の扱い方とvivadoによるサポート(公開用)Fpgaでの非同期信号の扱い方とvivadoによるサポート(公開用)
Fpgaでの非同期信号の扱い方とvivadoによるサポート(公開用)marsee101
 
ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料直久 住川
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門NVIDIA Japan
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編Fixstars Corporation
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門NVIDIA Japan
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜京大 マイコンクラブ
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2Preferred Networks
 
2015年度GPGPU実践プログラミング 第1回 GPGPUの歴史と応用例
2015年度GPGPU実践プログラミング 第1回 GPGPUの歴史と応用例2015年度GPGPU実践プログラミング 第1回 GPGPUの歴史と応用例
2015年度GPGPU実践プログラミング 第1回 GPGPUの歴史と応用例智啓 出川
 

What's hot (20)

Hopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないことHopper アーキテクチャで、変わること、変わらないこと
Hopper アーキテクチャで、変わること、変わらないこと
 
高位合成でDeep learning
高位合成でDeep learning高位合成でDeep learning
高位合成でDeep learning
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)Vivado hls勉強会1(基礎編)
Vivado hls勉強会1(基礎編)
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
CPU / GPU高速化セミナー!性能モデルの理論と実践:理論編
 
いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門いまさら聞けない!CUDA高速化入門
いまさら聞けない!CUDA高速化入門
 
CPUの創りかた
CPUの創りかたCPUの創りかた
CPUの創りかた
 
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
 
GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)
 
Vivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリームVivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリーム
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
 
Ethernetの受信処理
Ethernetの受信処理Ethernetの受信処理
Ethernetの受信処理
 
Fpgaでの非同期信号の扱い方とvivadoによるサポート(公開用)
Fpgaでの非同期信号の扱い方とvivadoによるサポート(公開用)Fpgaでの非同期信号の扱い方とvivadoによるサポート(公開用)
Fpgaでの非同期信号の扱い方とvivadoによるサポート(公開用)
 
ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料ACRiウェビナー:岩渕様ご講演資料
ACRiウェビナー:岩渕様ご講演資料
 
1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門1076: CUDAデバッグ・プロファイリング入門
1076: CUDAデバッグ・プロファイリング入門
 
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
2015年度GPGPU実践プログラミング 第1回 GPGPUの歴史と応用例
2015年度GPGPU実践プログラミング 第1回 GPGPUの歴史と応用例2015年度GPGPU実践プログラミング 第1回 GPGPUの歴史と応用例
2015年度GPGPU実践プログラミング 第1回 GPGPUの歴史と応用例
 

Viewers also liked

Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)Shinya Takamaeda-Y
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようShinya Takamaeda-Y
 
PythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミングPythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミングShinya Takamaeda-Y
 
Beatroboでのハードウェアプロトタイピング
BeatroboでのハードウェアプロトタイピングBeatroboでのハードウェアプロトタイピング
BeatroboでのハードウェアプロトタイピングHideyuki TAKEI
 
Cortex-M0プロセッサから自作して Lチカをやってみた
Cortex-M0プロセッサから自作してLチカをやってみたCortex-M0プロセッサから自作してLチカをやってみた
Cortex-M0プロセッサから自作して LチカをやってみたJunichi Akita
 
IkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine LearningIkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine Learning Takeshi HASEGAWA
 
電子回路の民主化とその実践
電子回路の民主化とその実践電子回路の民主化とその実践
電子回路の民主化とその実践Junichi Akita
 
cocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみたcocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみたHideyuki TAKEI
 
集積回路が真の道具になるために
集積回路が真の道具になるために集積回路が真の道具になるために
集積回路が真の道具になるためにJunichi Akita
 
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法Kentaro Sano
 
Golang, make and robotics #gocon
Golang, make and robotics #goconGolang, make and robotics #gocon
Golang, make and robotics #goconHideyuki TAKEI
 
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)Takeshi HASEGAWA
 
ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)Shinya Takamaeda-Y
 
2017年のFPGA Community活動について
2017年のFPGA Community活動について2017年のFPGA Community活動について
2017年のFPGA Community活動についてMr. Vengineer
 
Polyphony の並列化
Polyphony の並列化Polyphony の並列化
Polyphony の並列化ryos36
 
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Shinya Takamaeda-Y
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたTakefumi MIYOSHI
 
TensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアTensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアMr. Vengineer
 

Viewers also liked (20)

Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
 
PythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミングPythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミング
 
Beatroboでのハードウェアプロトタイピング
BeatroboでのハードウェアプロトタイピングBeatroboでのハードウェアプロトタイピング
Beatroboでのハードウェアプロトタイピング
 
Cortex-M0プロセッサから自作して Lチカをやってみた
Cortex-M0プロセッサから自作してLチカをやってみたCortex-M0プロセッサから自作してLチカをやってみた
Cortex-M0プロセッサから自作して Lチカをやってみた
 
IkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine LearningIkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine Learning
 
電子回路の民主化とその実践
電子回路の民主化とその実践電子回路の民主化とその実践
電子回路の民主化とその実践
 
cocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみたcocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみた
 
集積回路が真の道具になるために
集積回路が真の道具になるために集積回路が真の道具になるために
集積回路が真の道具になるために
 
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
 
Golang, make and robotics #gocon
Golang, make and robotics #goconGolang, make and robotics #gocon
Golang, make and robotics #gocon
 
IkaLog20170316pynq_dist
IkaLog20170316pynq_distIkaLog20170316pynq_dist
IkaLog20170316pynq_dist
 
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
 
ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)
 
2017年のFPGA Community活動について
2017年のFPGA Community活動について2017年のFPGA Community活動について
2017年のFPGA Community活動について
 
Klabの梅雨対策
Klabの梅雨対策Klabの梅雨対策
Klabの梅雨対策
 
Polyphony の並列化
Polyphony の並列化Polyphony の並列化
Polyphony の並列化
 
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
 
TensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアTensorFlow XLA とハードウェア
TensorFlow XLA とハードウェア
 

Similar to FPGA・リコンフィギャラブルシステム研究の最新動向

PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータShinya Takamaeda-Y
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料一路 川染
 
ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoTakefumi MIYOSHI
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hwykuga
 
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)Shinya Takamaeda-Y
 
仮想FPGAクラウド
仮想FPGAクラウド仮想FPGAクラウド
仮想FPGAクラウドEric Fukuda
 
FPGAスタートアップ資料
FPGAスタートアップ資料FPGAスタートアップ資料
FPGAスタートアップ資料marsee101
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroupManaMurakami1
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようShinya Takamaeda-Y
 
High speed-pc-router 201505
High speed-pc-router 201505High speed-pc-router 201505
High speed-pc-router 201505ykuga
 
Trema day 1
Trema day 1Trema day 1
Trema day 1ykuga
 
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...Takuma Usui
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理Motonori Shindo
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはHideki Takase
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速するKohei KaiGai
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介Hiroki Nakahara
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)Hiroki Nakahara
 

Similar to FPGA・リコンフィギャラブルシステム研究の最新動向 (20)

Myoshimi extreme
Myoshimi extremeMyoshimi extreme
Myoshimi extreme
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 
ICD/CPSY 201412
ICD/CPSY 201412ICD/CPSY 201412
ICD/CPSY 201412
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hw
 
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
 
仮想FPGAクラウド
仮想FPGAクラウド仮想FPGAクラウド
仮想FPGAクラウド
 
FPGAスタートアップ資料
FPGAスタートアップ資料FPGAスタートアップ資料
FPGAスタートアップ資料
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroup
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
 
High speed-pc-router 201505
High speed-pc-router 201505High speed-pc-router 201505
High speed-pc-router 201505
 
Trema day 1
Trema day 1Trema day 1
Trema day 1
 
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
 
フロー技術によるネットワーク管理
フロー技術によるネットワーク管理フロー技術によるネットワーク管理
フロー技術によるネットワーク管理
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うには
 
Cmc cmd slim
Cmc cmd slimCmc cmd slim
Cmc cmd slim
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
 

More from Shinya Takamaeda-Y

オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムShinya Takamaeda-Y
 
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモDNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモShinya Takamaeda-Y
 
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発Shinya Takamaeda-Y
 
Veriloggen.Stream: データフローからハードウェアを作る(2018年3月3日 高位合成友の会 第5回 @東京工業大学)
Veriloggen.Stream: データフローからハードウェアを作る(2018年3月3日 高位合成友の会 第5回 @東京工業大学)Veriloggen.Stream: データフローからハードウェアを作る(2018年3月3日 高位合成友の会 第5回 @東京工業大学)
Veriloggen.Stream: データフローからハードウェアを作る(2018年3月3日 高位合成友の会 第5回 @東京工業大学)Shinya Takamaeda-Y
 
Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...
Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...
Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...Shinya Takamaeda-Y
 
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」Shinya Takamaeda-Y
 
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)Shinya Takamaeda-Y
 
マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討Shinya Takamaeda-Y
 
A CGRA-based Approach for Accelerating Convolutional Neural Networks
A CGRA-based Approachfor Accelerating Convolutional Neural NetworksA CGRA-based Approachfor Accelerating Convolutional Neural Networks
A CGRA-based Approach for Accelerating Convolutional Neural NetworksShinya Takamaeda-Y
 
Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討Shinya Takamaeda-Y
 
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)Shinya Takamaeda-Y
 
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)Shinya Takamaeda-Y
 
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...Shinya Takamaeda-Y
 
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...Shinya Takamaeda-Y
 
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)Shinya Takamaeda-Y
 
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発Shinya Takamaeda-Y
 
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...Shinya Takamaeda-Y
 
むかし名言集bot作りました!
むかし名言集bot作りました!むかし名言集bot作りました!
むかし名言集bot作りました!Shinya Takamaeda-Y
 
APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化
APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化
APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化Shinya Takamaeda-Y
 

More from Shinya Takamaeda-Y (20)

オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
 
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモDNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
 
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
 
Veriloggen.Stream: データフローからハードウェアを作る(2018年3月3日 高位合成友の会 第5回 @東京工業大学)
Veriloggen.Stream: データフローからハードウェアを作る(2018年3月3日 高位合成友の会 第5回 @東京工業大学)Veriloggen.Stream: データフローからハードウェアを作る(2018年3月3日 高位合成友の会 第5回 @東京工業大学)
Veriloggen.Stream: データフローからハードウェアを作る(2018年3月3日 高位合成友の会 第5回 @東京工業大学)
 
Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...
Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...
Veriloggen.Thread & Stream: 最高性能FPGAコンピューティングを 目指したミックスドパラダイム型高位合成 (FPGAX 201...
 
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
 
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
Debian Linux on Zynq (Xilinx ARM-SoC FPGA) Setup Flow (Vivado 2015.4)
 
マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討
 
A CGRA-based Approach for Accelerating Convolutional Neural Networks
A CGRA-based Approachfor Accelerating Convolutional Neural NetworksA CGRA-based Approachfor Accelerating Convolutional Neural Networks
A CGRA-based Approach for Accelerating Convolutional Neural Networks
 
Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討
 
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
 
Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門
 
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
 
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
A Framework for Efficient Rapid Prototyping by Virtually Enlarging FPGA Resou...
 
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
A High Performance Heterogeneous FPGA-based Accelerator with PyCoRAM (Runner ...
 
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
PyCoRAM: Python-Verilog高位合成とメモリ抽象化によるFPGAアクセラレータ向けIPコア開発フレームワーク (FPGAX #05)
 
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
 
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
PyCoRAM: Yet Another Implementation of CoRAM Memory Architecture for Modern F...
 
むかし名言集bot作りました!
むかし名言集bot作りました!むかし名言集bot作りました!
むかし名言集bot作りました!
 
APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化
APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化
APGAS言語X10を用いたオンチップネットワークシミュレーションの並列化
 

Recently uploaded

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 

Recently uploaded (10)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 

FPGA・リコンフィギャラブルシステム研究の最新動向

  • 3. Heterogeneous Computing Era OoO Core OoO Core OoO Core OoO Core L2 L2 L2 L2 L3 Cache DDR3 DRAM Multicore (Intel Corei7) L2 Cache GDDR5 DRAM GPU (NVIDIA GeForce) DDR3 DRAM Manycore (Intel Xeon Phi) DDR3 DRAM FPGA (Xilinx Virtex-7) 2015-03-11 Shinya T-Y, NAIST 3
  • 4. FPGA (Field Programmable Gate Array) n  中身を改変可能なLSI (PLD: Programmable Logic Device) l  設計者が独自のデジタル回路を形成することができる l  対してCPUやGPUはFLD (Fixed Logic Device)? n  CPUなどとの大きな違いは? l  CPUの振る舞いはソフトウェア(プログラム)で規定される •  ユーザはCPUそのものの回路を変更することはできない l  FPGAの振る舞いはハードウェアそのものの変更で変えられる Digital circuits 2015-03-11 Shinya T-Y, NAIST 4
  • 5. Basic Structure of an FPGA (Island-Style) SB CB CB LB SB CB CB LB SB CB CB LB SB CB SB CB CB LB SB CB CB LB SB CB CB LB SB CB SB CB CB LB SB CB CB LB SB CB CB LB SB CB SB CB SB CB SB CB SB IOB IOB IOB IOB IOB IOB IOBIOBIOB IOBIOBIOB FPGA SB LB CB IOB Logic Block Switch Block Connection Block I/O Block Wire •  An LB has logical circuit components for both combinational circuits and sequential circuits •  They are connected via interconnection components (SB, CB and wire) 2015-03-11 Shinya T-Y, NAIST 5
  • 6. Basic Structure of an FPGA (Island-Style) SB CB CB LB SB CB CB LB SB CB CB LB SB CB SB CB CB LB SB CB CB LB SB CB CB LB SB CB SB CB CB LB SB CB CB LB SB CB CB LB SB CB SB CB SB CB SB CB SB IOB IOB IOB IOB IOB IOB IOBIOBIOB IOBIOBIOB FPGA SB LB CB IOB Logic Block Switch Block Connection Block I/O Block Wire •  An LB has logical circuit components for both combinational circuits and sequential circuits •  They are connected via interconnection components (SB, CB and wire) 2015-03-11 Shinya T-Y, NAIST 6
  • 7. Logic Block n  Two basic elements in a logic block l  LUT (Look Up Table): for combinational circuits l  Flip-flop: for memory (sequential circuits) SB CB CB LB SB CB CB LB SB CB CB LB SB CB SB CB CB LB SB CB CB LB SB CB CB LB SB CB SB CB CB LB SB CB CB LB SB CB CB LB SB CB SB CB SB CB SB CB SB IOB IOB IOB IOB IOB IOB IOBIOBIOB IOBIOBIOB FPGA Logic Block LUT D Q 2015-03-11 Shinya T-Y, NAIST 7
  • 8. LUT: Look Up Table n  LUTs realize combinational logics n  An LUT returns a 1-bit value corresponding to the input bit-vector (=Boolean function) l  N-input LUT has 2N combinations of results: 4-input LUT has 16 a[0] a[1] a[2] a[N-1] N-input LUT b Input Output 000…0 0 000…1 1 … … 111…1 0 2015-03-11 Shinya T-Y, NAIST 8
  • 9. FPGA in Anywhere n  LSI設計・検証のプラットフォームとして l  LSIの機能を製造前に検証 l  HWの完成を待たなくても SWの開発検証ができる l  ソフトウェアシミュレータによる 回路シミュレーションよりも 高速に検証できる n  最終製品に組み込むLSIとして l  画像処理 l  ネットワーク機器 n  アクセラレータとして l  データベースエンジン l  ウェブ検索エンジン l  証券取引アクセラレータ l  石油探索アクセラレータ Object Detection Stock Trading 2015-03-11 Shinya T-Y, NAIST 9
  • 10. ASIC vs. FPGA n  ASIC (Application Specific Integrated Circuit) l  それぞれのアプリケーションに特化した専用回路を設計 •  専用パイプライン・高い周波数で高い性能 n  FPGA (Field Programmable Gate Array) l  どのアプリケーションも数種類のFPGAで実現:少量生産もOK l  製品リリース後の回路構成の改変が可能 The number of units Cost ASIC FPGA FPGA is cheaper ASIC is cheaper 2015-03-11 Shinya T-Y, NAIST 10
  • 11. 増え続けるFPGAの回路規模 n  トランジスタの スケーリングにより FPGの回路規模も増大 l  5年で6倍以上に増加 l  今後も更なる増加が予想 •  マルチダイ化 •  3次元積層 n  その分設計が大変に l  設計検証の時間が増大 l  効率的な開発方式が必要 •  RTLのみの開発の限界 •  高位合成処理系の利用 From Xilinx UG8722015-03-11 Shinya T-Y, NAIST 11
  • 12. FPGAボードの基礎 Xilinx VC707 Evaluation Board 価格: 40万円程度 PCI-express (Connected to PC) FPGA (Xilinx Virtex-7 XC7V485T) Ethernet DDR3 SODIMM DRAM (Memory) SD Card Power In 2015-03-11 Shinya T-Y, NAIST 12
  • 13. Digilent NetFPGA SUME FPGA (Xilinx Virtex-7 XC7V690T) DDR3 SODIMM (4GB x2) PCI-express10Gbps Ethernet x4 SATA-3 x2 価格: $24,500 (アカデミック価格: $1,695) 2015-03-11 Shinya T-Y, NAIST 13
  • 14. Digilent Nexys3 FPGA: Xilinx Spartan-6 LX16 Size: Pipelined CPU ×2 Price: 2万円?(アカデミック) Digilent ZedBoard FPGA: Xilinx Zynq-7020 Size: Pipelined CPU ×8 (+ ARM DualCore) Price: 5万円 (アカデミック) 2015-03-11 Shinya T-Y, NAIST 14
  • 15. ScalableCore System FPGA: Xilinx Spartan-6 ×100 Size: Pipelined CPU x200? Price: 100万円程度? 2015-03-11 Shinya T-Y, NAIST 15
  • 16. How to Develop a Software? Writing a software in programming languages Preprocess Compile Assemble Link CompilerFlow Execution on a CPU int main(){� int a = 1 + 2;� printf(“Hello %dn”, a);� return 0;� }� add $t0, $t1, $t2� li $v0, 1� syscall� ELF01ABF00F1...� Executable Binary 2015-03-11 Shinya T-Y, NAIST 16
  • 17. How to Develop a (FPGA) Hardware? Writing a hardware design in HDL (Hardware Description Language) Synthesis Technology Mapping Place and Route Bitstream Generation EDAFlow Configuration of the bitstream to an FPGA module top� (input CLK, RST, � output reg [7:0] LED);� always @(posedge CLK) begin� LED <= LED + 1;� end� endmodule� 1A0C021E...� Original HW on an FPGA Bitstream 2015-03-11 Shinya T-Y, NAIST 17
  • 19. ARM搭載FPGAの登場 (1) n  ARMプロセッサ+FPGA (Xilinx Zynq, Altera SoC) l  専用インターコネクトで密結合,キャッシュ・DRAM共有 l  普通のLinuxが動作する→大量なソフトウェア資源が利用可能 Zynq-7000 All Programmable SoC http://japan.xilinx.com/products/silicon-devices/soc/zynq-7000.html AlteraのARMベースSoC https://www.altera.com/ja_JP/pdfs/literature/br/br-soc-fpga_j.pdf 2015-03-11 Shinya T-Y, NAIST 19
  • 20. ARM搭載FPGAの登場 (2) n  普通のFPGAとは何が違う? l  そもそも通常のFPGA上もCPU搭載可能(ソフトマクロ) l  コア性能が数倍∼10倍違う •  MicroBlaze: 100MHz∼200MHz, In-order, Single issue •  ARM: 600MHz∼1GHz, OoO, Super scalar n  独自のHW/SW協調SoCの実現が容易になる l  面倒な処理は処理はCPU上のソフトウェアで実現 •  ネットワーク・ファイルシステムなど l  並列処理部はFPGA上の専用ハードウェアで実現 •  並列度とメモリ帯域に応じて演算器を追加し高速化 •  必要に応じて演算精度を削り更に高速化 l  データ共有が遅いんじゃないの? •  PCI-e経由よりも通信オーバーヘッドは小さい –  キャッシュ・DRAM共有のおかげ 2015-03-11 Shinya T-Y, NAIST 20
  • 21. 例)Zynq 7000 アーキテクチャ n  ARM Cortex-A9 (Dual-core, OoO, 8-stage) n  3種類のCPU-PL間接続 (すべてAXIインターフェース) AXI GP Port AXI HP Port AXI ACP Port Cache DRAM GP •  低速 •  制御レジスタ アクセス用 HP •  高バンド幅 •  DRAMへの バースト転送向け ACP •  低レイテンシ •  キャッシュ コヒーレント •  CPUとの データ共有向け http://www.ioe.nchu.edu.tw/Pic/CourseItem/4468_20_Zynq_Architecture.pdf http://japan.xilinx.com/support/documentation/data_sheets/j_ds190-Zynq-7000-Overview.pdf 2015-03-11 Shinya T-Y, NAIST 21
  • 22. 浮動小数点ユニット搭載FPGA n  従来FPGAのDSP(乗算)ユニットは整数のみ対応 l  浮動小数点演算は変換ロジックを組み合わせて実現 (ソフトマクロ)→大きな回路・電力オーバーヘッド •  そのため浮動小数点演算ではGPUが有利だった n  Altera次期モデルがハードマクロ浮動小数点DSPを搭載 l  コンピューティングデバイスとしてのFPGAの利用が増加? Altera Expands Floating-Point Hardware Support Across Its Product Lines http://www.bdti.com/InsideDSP/2014/07/22/Altera 2015-03-11 Shinya T-Y, NAIST 22
  • 23. IPコアベースのシステム開発環境の普及 n  IPコアを開発・追加して繋げばシステム完成J l  標準的なインターコネクトでIPコア達を接続 l  EDAツールが自動的にインターコネクトと(いくつかの) デバイス依存のインターフェースを生成してくれるため楽 l  いかにしてIPコアを簡単に開発するかが重要 Xilinx Platform Studio (XPS) IP-core List Interconnect FPGA CPU HW Acc DRAM I/F Ether PCI-E Interconnect HW Acc DRAM IP-core Instances 2015-03-11 Shinya T-Y, NAIST 23
  • 24. 高位合成処理系の普及 n  FPGA向け商用高位合成ツールが多数登場 l  Xilinx Vivado HLS •  C/C++で振る舞いを定義・プラグマ追加で性能チューニング l  その他C言語ベースImpulse C・CWB・eXCiteなど l  OpenCLベース: Altera OpenCLやXilinx SDAccel •  ホストPCありき・ホストPC上SWのお作法も定義 https://www.youtube.com/ watch?v=URUVkq6zQhQ 2015-03-11 Shinya T-Y, NAIST 24
  • 25. オープンソースな高位合成ツールの登場 n  LegUp: トロント大で開発されているCベース処理系 l  C記述をMIPS CPU用SW部とHW部に自動分割・論文多数 n  Synthesijer: Javaによる高位合成処理系 l  Java言語仕様に改変なし,サブセットをそのまま合成可能 9 クイックスタート 5/8 (5) 間隔をおいて変数ledをtrue/falseするプログラムを書く Lチカに相当する変数 適当なウェイト 点滅 自動コンパイルが裏で動くので,Javaコードとしての正しさは 即座にチェックされる 2 Synthesijer とは ✔ JavaプログラムをFPGA上のハードウェアに変換 ✔ 複雑なアルゴリズムのハードウェア実装を楽に ✔ オブクジェクト指向設計による再利用性の向上 ✔ 特殊な記法,追加構文はない ✔ ソフトウェアとして実行可能.動作の確認、検証が容易 ✔ 書けるプログラムに制限は加える (動的なnew,再帰は不可など) Javaコンパイラ フロントエンド Synthesijer エンジン Javaコンパイラ バックエンド 合成 配置配線 while(){ if(...){ … }else{ … … } …. } 複雑な状態遷移も,Javaの制御構文を使って楽に設計できる 同じJavaプログラムをソフトウェアとしても FPGA上のハードウェアとしても実行可能 Open-source http://www.sigemb.jp/ESS/2014/files/IPSJ-ESS2014003-1.pdf 2015-03-11 Shinya T-Y, NAIST 25
  • 27. 主要な国際会議・論文誌 n  国際会議 l  FCCM, ACM FPGA, FPL, FPT, ASAP, ReConFig, ARC, HEART l  計算機アーキテクチャ全般やLSI設計技術を対象とする国際会議 でも頻繁に取り扱われる •  計算機アーキテクチャ系: ISCA, MICRO, ASPLOS, HPCA •  LSI設計技術系: DAC, ASP-DAC, DATE l  その他データベース系やプログラミング言語系の国際会議でも n  論文誌 l  ACM Tr. on Reconfigurable Technology and Systems (TRETS) l  IEICE英文論文誌D Special Section on Reconfigurable Systems 2015-03-11 Shinya T-Y, NAIST 27
  • 28. 主要国際会議におけるRECONF研究動向 n  定番のテーマ l  画像処理 l  バイオインフォマティクス l  ネットワーク処理 (IPv6パケット処理) l  ソフトプロセッサ (CPU on FPGA) l  CGRAアーキテクチャ n  最近の流行 l  データベース (NoSQL, memcached) l  機械学習 (Deep Learning) l  設計技術 (HW/SW協調設計・抽象化方式・設計支援) l  高位合成言語 (C/Java/etc-to-HDLコンパイラ・最適化) 2015-03-11 Shinya T-Y, NAIST 28
  • 29. Memcachedアクセラレータ n  FPGAイーサでmemcachedのリクエストをキャッシュ ホストに行くリクエストを減らす[Fukuda+, FPL’14] n  GET処理アクセラレータをNICに入れてメモリ共有 [Lim+, ISCA’13] 2015-03-11 Shinya T-Y, NAIST 29
  • 30. システムレベル設計支援:メモリ抽象化 n  オンチップメモリは高速だが小さい→仮想メモリ導入 n  LEAP[Adler+,FPGA’11] l  オンチップメモリ・ボードメモリ・ホストメモリを合わせて抽 象化するライブラリ l  キャッシュ階層によりFPGA上のメモリを仮想的に拡大 n  flipSyrup[Takamaeda+,ReConFig’14] l  巨大なオンチップメモリが利用できることを想定して ハードウェア設計が可能に(仮想メモリ on Verilog HDL) Read Write RAM 1-cycle RAMs w/o Capacity Limits RAM RAM Logic (a) Baseline Design Read Write Sub-logic 0 Abst Memory Abst Memory Abst Channel Abst Channel Read Write Virtual Connection Region 0 Sub-logic N-1 Abst Memory Abst Channel Region N-1 = Entire Original Logic (b) Partitioned Design Memory I/F Memory I/F Channel I/F Channel I/F Stall I/OInterface (Ser/Des) Off-chip DRAM On-chip Bus Interface (AXI4 or Handshake) Cache FIFO Controlled Simulation Target Cycle-Accuracy Manager Cache FIFO On-chip Interconnect Other IP-core or CPU (If needed) Abstraction IP-core (Region 0) (Automatically Generated) FPGA Region 0 I/O Abstraction System Sub-logic 0 FPGA Region N-1 Connected to Other FPGAs (c) Generated System2015-03-11 Shinya T-Y, NAIST 30
  • 31. CoRAM [Chung+,FPGA’11] n  FPGAアクセラレータのためのメモリ抽象化 l  高位モデルによるメモリ管理でアクセラレータをポータブルに •  計算カーネルとメモリアクセスの分離 •  ソフトウェアのモデルによるメモリアクセスパターンの記述 HW Kernels (Computing Logics) CoRAM Memory Read Write Manage Control Threads (Memory Access Pattern) CoRAM Channel Read/Write Read/Write Communication FIFOs (Registers) Abstracted On-chip Memories Off-chip Memory 2015-03-11 Shinya T-Y, NAIST 31
  • 32. PyCoRAM [Takamaeda+,CARL’13]: CoRAM for Modern EDKs n  CoRAMのメモリ抽象化を今時のEDKで使いたい l  標準的なインターコネクト(AXI4/Avalon)に繋ぎたい l  そうすれば他の普通のIPコアとも簡単に共存できそう Standard On-chip Interconnect CoRAM Abstraction Accelerator logic Standard IP-core Device-dependent Interfaces CPU core Portable application design with CoRAM Cooperation with standard IP-cores 2015-03-11 Shinya T-Y, NAIST 32
  • 35. PyCoRAMマイクロアーキテクチャの実装 PyCoRAM IP Interconnect (AXI4/Avalon) DRAM ControllerFPGA User I/O User Logic CoRAM Channel CoRAM Register Control Thread Master DMAC Master I/F CoRAM Memory Master DMAC Master I/F CoRAM Stream Slave I/F FSM GPIO Slave DMAC CoRAM IoChannel 2015-03-11 Shinya T-Y, NAIST 35
  • 36. PyCoRAMマイクロアーキテクチャの実装 PyCoRAM IP Interconnect (AXI4/Avalon) DRAM ControllerFPGA User I/O User Logic CoRAM Channel CoRAM Register Control Thread Master DMAC Master I/F CoRAM Memory Master DMAC Master I/F CoRAM Stream Slave I/F FSM GPIO Slave DMAC CoRAM IoChannelMaster: メモリ等へ能動 的にアクセス Slave: プロセッサ等から 読み書きされる 2015-03-11 Shinya T-Y, NAIST 36
  • 37. PyCoRAMにおける開発フロー n  計算カーネルのRTLとPythonでのコントロールスレッド 記述からIPコアパッケージを生成 l  生成されたIPコアは通常のEDAフローで利用可能 User-logic (Verilog HDL) Control Threads (Python) Logic Hierarchy Analysis Python-to- Verilog Compilation Control Signal Insertion IP-core Packing (RTL, .mpd, and .pao) IP-core Integration on EDK Synthesis Control Signal Port Addition FPGA Bit File Portable Application Design PyCoRAM Tool-chain Vendor EDA FlowPython-to-Verilog HLS RTL Conversion IP-core generation with AXI4 Interface Top design synthesis with AXI4 2015-03-11 Shinya T-Y, NAIST 37
  • 38. 新たなハードウェア記述言語 n  Verilog HDL/VHDLの問題点 l  すべてをレジスタ転送レベルで書かなければならないため大変 l  抽象度・再利用性が低い n  Verilog HDL/VHDLに変わる新しいHDL l  Bluespec: System Verilog + Haskell風味 l  Chisel: Scalaベースのハードウェア設計DSL l  Synthesijer.Scala: ScalaでHDLを生成 2015-03-11 Shinya T-Y, NAIST 38
  • 39. PyMTL [Lockhart+,MICRO’14] Derek Lockhart+: PyMTL: A Unified Framework for Vertically Integrated Computer Architecture Research, ACM/IEEE MICRO-47 (2014) Pythonでハードウェアを記述 3つのパラダイムをサポート •  Functional Level (FL) •  Cycle Level (CL) •  Register Transfer Level (RTL) 2015-03-11 Shinya T-Y, NAIST 39
  • 41. CNN and DNN n  CNN: Convolutional Neural Network l  畳み込みニューラルネットワーク •  畳み込み演算・プーリング(選択)を多層に積む From “DaDianNao: A Machine-Learning Supercomputer (MICRO’14)” 2015-03-11 Shinya T-Y, NAIST 41
  • 42. Deep Learning on FPGAs n  データフローアーキテクチャの採用 l  ニューロン・シナプスの値が乗算・加算パイプラインを流れる n  ニューロンのネットワークをHW実装したわけではない l  DNNモデルを高速化し何かを予測したいだけ Zhang+, Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks, FPGA’15 2015-03-11 Shinya T-Y, NAIST 42
  • 43. FPGA-based Machine Learning System n  Microsoft Bing Search Engine (Catapult) l  A commercial FPGA-based web search engine l  Machine-learning (DNN) algorithms as hardware pipeline Putnam+, A Reconfigurable Fabric for Accelerating Large-Scale Datacenter Services, ISCA'14 2015-03-11 Shinya T-Y, NAIST 43
  • 44. DaDianNao: A Machine-Learning Supercomputer n  CNN/DNNのためのプログラマブルアクセラレータ n  IEEE/ACM MICRO’14ベストペーパー l  µアーキテクチャのトップカンファレンスでベストペーパー We show that, on a subset of the largest known neural network layers, it is possible to achieve a speedup of 450.65x over a GPU, and reduce the energy by 150.31x on average for a 64-chip system. 2015-03-11 Shinya T-Y, NAIST 44
  • 45. Chip Layout of DaDianNao 2015-03-11 Shinya T-Y, NAIST 45
  • 46. Multi-chip System for large network 2015-03-11 Shinya T-Y, NAIST 46
  • 47. Various Operations on Identical NFU 2015-03-11 Shinya T-Y, NAIST 47
  • 48. Energy Reduction (Inference) n  GPUと比較して150倍程度電力効率を改善 l  必要なメモリeDRAMでオンチップに入れてしまい それを沢山ならべてしまえば高効率 2015-03-11 Shinya T-Y, NAIST 48
  • 50. 今後の展望 n  FPGA+CPU+GPU? l  Zynq Ultrascale: ARM64 Quad-coreを搭載するFPGAをリリース n  →シングルチップヘテロジニアスシステムが普及 l  開発支援・プログラミングモデルがより重要に l  高位合成処理系・デバッグ環境等の整備が必要 2015-03-11 Shinya T-Y, NAIST 50
  • 51. まとめ n  FPGAとは? n  近年のFPGAを取り巻く環境 l  ARM搭載FPGAの搭載 l  ハードマクロ浮動小数点ユニットの搭載 l  安価な商用高位合成系の普及 l  オープンソース高位合成系の登場 n  国際会議等にみる傾向 l  データベース l  機械学習(ディープラーニング) l  設計支援・高位合成処理系 l  専用アクセラレータ 2015-03-11 Shinya T-Y, NAIST 51