SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
DNN
NNgen
† ‡
† / JST
https://sites.google.com/view/casys-ja/
‡
2019 11 12
FPGAX #12@
HW
Binary Neural Network
Original Binary Binary w/ Dither
+
Quant.
A
W
Wgt.
Act.
High
Precision
(32-bit)
Low
Precision
(1-bit for each)
Low
Precision
(1-bit)
Information Loss!
Out Ch
Binary Neural Network (BNN)
+1/-1 (1 ) Act Weight
J
L
:
1
→
DitherNN [Ando+, FPT’18] DeltaNet [Oba+, ASAP’19]
+1/-1
BNN-HW
Σ f
Σ f
Σ f
Σ f
Σ f
Σ f
Σ f
Σ f
f
f
Σ
Σ
Σ
Σ
f
f
0 f
f
Σ
Σ
Σ
Σ
f
f
0
Binary NN DeltaNet
SoC FPGA DNN
3
SoC FPGA
Programmable LogicOn-chipInterconnect(AMBAAXI4)
CPU
NW
DRAM
Ctrl
GPU
Soft CPU
BRAM DSP
DNN Processor
BRAM
DSP
BRAM
DSP
DSP DSP
BRAM BRAM
Camera
Camera
Image
Processor
BRAM
DSP
Mortar
Mortar
Controller
GPIO
Pin
GPIO
Controller
DRAM
All-in-One 1
SoC FPGA DNN
4
SoC FPGA
Programmable LogicOn-chipInterconnect(AMBAAXI4)
CPU
NW
DRAM
Ctrl
GPU
Soft CPU
BRAM DSP
DNN Processor
BRAM
DSP
BRAM
DSP
DSP DSP
BRAM BRAM
Camera
Camera
Image
Processor
BRAM
DSP
Mortar
Mortar
Controller
GPIO
Pin
GPIO
Controller
DRAM
(BRAM) (DSP)
L
I/O
J
NNgen
n DNN
IP
n :
Tensorflow
n : IP (or RTL)
l Veriloggen Object
l Verilog HDL
l IP-XACT
5
Model Definition
layer0 = ng.conv2d(a0, w0, ...)
NNgen
Scheduler
Graph Optimization
Task Scheduling
Allocator
RAM Assignment
Stream-Op Assignment
Pipeline Synthesis
Building Stream-Op via
Veriloggen.Stream API
Control Synthesis
Building FSM via
Veriloggen.Thread API
Code Synthesis
RTL and IP-XACT generation via Veriloggen/IPgen
Pyverilog
Verilog HDL AST Abstraction
Veriloggen
Veriloggen.Thread
Procedural HLS:
Python Source Code
-> AST -> FSM
Veriloggen.Stream
Dataflow HLS:
Dataflow Definition
-> Scheduled Pipeline
Veriloggen.Core
Verilog HDL Abstraction and Meta-Programing API
n DNN
l Tensorflow
n
l HLS Veriloggen
https://github.com/PyHDI/veriloggen
l HLS C++/C HDL
n
l
l Veriloggen.Thread, Veriloggen.Stream
6
NNgen DNN-HW
7
NNgen DNN-HW
8
NNgen
placeholder, variable, constant:
NNgen DNN-HW
9
conv2d: 2D (w/ ReLU)
placeholder
variable
NNgen DNN-HW
10
conv2d
max_pool:
placeholder
variable
NNgen DNN-HW
11
conv2d
placeholder
variable
max_pool
reshape:
numpy.reshape tf.reshape
NNgen DNN-HW
12
conv2d
placeholder
variable
max_pool
reshape
matmul:
NNgen DNN-HW
13
NNgen DNN-HW
14
DNN HW
NNgen-DNN
15
CPU
Substream Pool
Computing Unit Pool
RAM Pool
Mul Mul Mul Mul
Mul Mul Mul Mul
Mul Mul Mul Mul
Acc Acc Acc Acc
AddTree AddTree
AddTree AddTree
conv2d 3x3
Parallel: 3x3x4x4x2x2
max_pool 2x2
Parallel: 4
matmul
Parallel: 4x4
ThreadArg
Stream
ThreadArg
Stream
ThreadArg
Stream
Main Thread
SubstreamInterconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
MemoryInterconnect
DMAInterconnect
DMAController
AXI4MasterI/FAXI4SlaveI/F
Config Register
AXI4Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
OP
NNgen-DNN
16
CPU
Substream Pool
Computing Unit Pool
RAM Pool
Mul Mul Mul Mul
Mul Mul Mul Mul
Mul Mul Mul Mul
Acc Acc Acc Acc
AddTree AddTree
AddTree AddTree
conv2d 3x3
Parallel: 3x3x4x4x2x2
max_pool 2x2
Parallel: 4
matmul
Parallel: 4x4
ThreadArg
Stream
ThreadArg
Stream
ThreadArg
Stream
Main Thread
SubstreamInterconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
MemoryInterconnect
DMAInterconnect
DMAController
AXI4MasterI/FAXI4SlaveI/F
Config Register
AXI4Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
OP
NNgen-DNN
17
CPU
Substream Pool
Computing Unit Pool
RAM Pool
Mul Mul Mul Mul
Mul Mul Mul Mul
Mul Mul Mul Mul
Acc Acc Acc Acc
AddTree AddTree
AddTree AddTree
conv2d 3x3
Parallel: 3x3x4x4x2x2
max_pool 2x2
Parallel: 4
matmul
Parallel: 4x4
ThreadArg
Stream
ThreadArg
Stream
ThreadArg
Stream
Main Thread
SubstreamInterconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
MemoryInterconnect
DMAInterconnect
DMAController
AXI4MasterI/FAXI4SlaveI/F
Config Register
AXI4Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
NoC
NNgen-DNN
18
CPU
Substream Pool
Computing Unit Pool
RAM Pool
Mul Mul Mul Mul
Mul Mul Mul Mul
Mul Mul Mul Mul
Acc Acc Acc Acc
AddTree AddTree
AddTree AddTree
conv2d 3x3
Parallel: 3x3x4x4x2x2
max_pool 2x2
Parallel: 4
matmul
Parallel: 4x4
ThreadArg
Stream
ThreadArg
Stream
ThreadArg
Stream
Main Thread
SubstreamInterconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
MemoryInterconnect
DMAInterconnect
DMAController
AXI4MasterI/FAXI4SlaveI/F
Config Register
AXI4Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
RAM
NNgen-DNN
19
CPU
Substream Pool
Computing Unit Pool
RAM Pool
Mul Mul Mul Mul
Mul Mul Mul Mul
Mul Mul Mul Mul
Acc Acc Acc Acc
AddTree AddTree
AddTree AddTree
conv2d 3x3
Parallel: 3x3x4x4x2x2
max_pool 2x2
Parallel: 4
matmul
Parallel: 4x4
ThreadArg
Stream
ThreadArg
Stream
ThreadArg
Stream
Main Thread
SubstreamInterconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
MemoryInterconnect
DMAInterconnect
DMAController
AXI4MasterI/FAXI4SlaveI/F
Config Register
AXI4Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
RAM NoC
NNgen-DNN
20
CPU
Substream Pool
Computing Unit Pool
RAM Pool
Mul Mul Mul Mul
Mul Mul Mul Mul
Mul Mul Mul Mul
Acc Acc Acc Acc
AddTree AddTree
AddTree AddTree
conv2d 3x3
Parallel: 3x3x4x4x2x2
max_pool 2x2
Parallel: 4
matmul
Parallel: 4x4
ThreadArg
Stream
ThreadArg
Stream
ThreadArg
Stream
Main Thread
SubstreamInterconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
MemoryInterconnect
DMAInterconnect
DMAController
AXI4MasterI/FAXI4SlaveI/F
Config Register
AXI4Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
AXI4-Master + DMA
NNgen-DNN
21
CPU
Substream Pool
Computing Unit Pool
RAM Pool
Mul Mul Mul Mul
Mul Mul Mul Mul
Mul Mul Mul Mul
Acc Acc Acc Acc
AddTree AddTree
AddTree AddTree
conv2d 3x3
Parallel: 3x3x4x4x2x2
max_pool 2x2
Parallel: 4
matmul
Parallel: 4x4
ThreadArg
Stream
ThreadArg
Stream
ThreadArg
Stream
Main Thread
SubstreamInterconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
MemoryInterconnect
DMAInterconnect
DMAController
AXI4MasterI/FAXI4SlaveI/F
Config Register
AXI4Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
FSM
FSMFSM
NNgen-DNN
22
CPU
Substream Pool
Computing Unit Pool
RAM Pool
Mul Mul Mul Mul
Mul Mul Mul Mul
Mul Mul Mul Mul
Acc Acc Acc Acc
AddTree AddTree
AddTree AddTree
conv2d 3x3
Parallel: 3x3x4x4x2x2
max_pool 2x2
Parallel: 4
matmul
Parallel: 4x4
ThreadArg
Stream
ThreadArg
Stream
ThreadArg
Stream
Main Thread
SubstreamInterconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
MemoryInterconnect
DMAInterconnect
DMAController
AXI4MasterI/FAXI4SlaveI/F
Config Register
AXI4Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
n
FSM NNgen
n RTL + IP
Veriloggen
n FSM
Python
l
23
Model Definition
layer0 = ng.conv2d(a0, w0, ...)
NNgen
Scheduler
Graph Optimization
Task Scheduling
Allocator
RAM Assignment
Stream-Op Assignment
Pipeline Synthesis
Building Stream-Op via
Veriloggen.Stream API
Control Synthesis
Building FSM via
Veriloggen.Thread API
Code Synthesis
RTL and IP-XACT generation via Veriloggen/IPgen
Pyverilog
Verilog HDL AST Abstraction
Veriloggen
Veriloggen.Thread
Procedural HLS:
Python Source Code
-> AST -> FSM
Veriloggen.Stream
Dataflow HLS:
Dataflow Definition
-> Scheduled Pipeline
Veriloggen.Core
Verilog HDL Abstraction and Meta-Programing API
Veriloggen:
24
Veriloggen.Core (RTL)
Thread
RAM
Thread
RAM
Stream
Stream
Computing
Unit
Thread
Python-to-FSM
Stream
Control
Thread Bus + DMA
(AXI4 Master/Slave)
AXI4 Interconnect DRAMCPU
RTL
Control
Intrinsic
RTL
RTL
Control DMA Control
DMA Burst Transfer
NNgen
nONNX (nngen.onnx)
l ONNX
NNgen
→ (Pytorch ) Verilog HDL/IP-XACT
ONNX NNgen
→
n (nngen.quantizer)
l 1/2/4/8/16/32/64
l
ü Experimental Implementation
25
26
DL
ONNX
ONNX NNgen
27
28
HW
HW Python
29
NNgen
https://github.com/NNgen/nngen
DNN
NNgen
† ‡
† / JST
‡
2019 11 12
FPGAX #12@
OSS
n 11/24@
31
32
Pull Request
AI
https://github.com/NNgen/nngen

Weitere ähnliche Inhalte

Was ist angesagt?

[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence ModelingDeep Learning JP
 
[DL輪読会]Graph R-CNN for Scene Graph Generation
[DL輪読会]Graph R-CNN for Scene Graph Generation[DL輪読会]Graph R-CNN for Scene Graph Generation
[DL輪読会]Graph R-CNN for Scene Graph GenerationDeep Learning JP
 
分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~Hideki Tsunashima
 
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...Deep Learning JP
 
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy OptimizationDeep Learning JP
 
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17Takuya Akiba
 
画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピTakahiro Kubo
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例Fixstars Corporation
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習Mitsuhisa Ohta
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Yusuke Fujimoto
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜Jun Okumura
 
[DL輪読会]"CyCADA: Cycle-Consistent Adversarial Domain Adaptation"&"Learning Se...
 [DL輪読会]"CyCADA: Cycle-Consistent Adversarial Domain Adaptation"&"Learning Se... [DL輪読会]"CyCADA: Cycle-Consistent Adversarial Domain Adaptation"&"Learning Se...
[DL輪読会]"CyCADA: Cycle-Consistent Adversarial Domain Adaptation"&"Learning Se...Deep Learning JP
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用Yasunori Ozaki
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門Takuji Tahara
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Preferred Networks
 
【DL輪読会】Trajectory Prediction with Latent Belief Energy-Based Model
【DL輪読会】Trajectory Prediction with Latent Belief Energy-Based Model【DL輪読会】Trajectory Prediction with Latent Belief Energy-Based Model
【DL輪読会】Trajectory Prediction with Latent Belief Energy-Based ModelDeep Learning JP
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールMITSUNARI Shigeo
 
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?Mr. Vengineer
 
NVIDIA HPC ソフトウエア斜め読み
NVIDIA HPC ソフトウエア斜め読みNVIDIA HPC ソフトウエア斜め読み
NVIDIA HPC ソフトウエア斜め読みNVIDIA Japan
 
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセットToru Tamaki
 

Was ist angesagt? (20)

[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
[DL輪読会]Decision Transformer: Reinforcement Learning via Sequence Modeling
 
[DL輪読会]Graph R-CNN for Scene Graph Generation
[DL輪読会]Graph R-CNN for Scene Graph Generation[DL輪読会]Graph R-CNN for Scene Graph Generation
[DL輪読会]Graph R-CNN for Scene Graph Generation
 
分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~
 
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
 
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization
[DL輪読会]Model-Based Reinforcement Learning via Meta-Policy Optimization
 
分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17分散深層学習 @ NIPS'17
分散深層学習 @ NIPS'17
 
画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ
 
いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例いまさら聞けないarmを使ったNEONの基礎と活用事例
いまさら聞けないarmを使ったNEONの基礎と活用事例
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化
 
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
深層強化学習の分散化・RNN利用の動向〜R2D2の紹介をもとに〜
 
[DL輪読会]"CyCADA: Cycle-Consistent Adversarial Domain Adaptation"&"Learning Se...
 [DL輪読会]"CyCADA: Cycle-Consistent Adversarial Domain Adaptation"&"Learning Se... [DL輪読会]"CyCADA: Cycle-Consistent Adversarial Domain Adaptation"&"Learning Se...
[DL輪読会]"CyCADA: Cycle-Consistent Adversarial Domain Adaptation"&"Learning Se...
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
 
【DL輪読会】Trajectory Prediction with Latent Belief Energy-Based Model
【DL輪読会】Trajectory Prediction with Latent Belief Energy-Based Model【DL輪読会】Trajectory Prediction with Latent Belief Energy-Based Model
【DL輪読会】Trajectory Prediction with Latent Belief Energy-Based Model
 
C/C++プログラマのための開発ツール
C/C++プログラマのための開発ツールC/C++プログラマのための開発ツール
C/C++プログラマのための開発ツール
 
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
 
NVIDIA HPC ソフトウエア斜め読み
NVIDIA HPC ソフトウエア斜め読みNVIDIA HPC ソフトウエア斜め読み
NVIDIA HPC ソフトウエア斜め読み
 
動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット動作認識の最前線:手法,タスク,データセット
動作認識の最前線:手法,タスク,データセット
 

Ähnlich wie DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ

ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発Shinya Takamaeda-Y
 
Jetson AGX Xavier and the New Era of Autonomous Machines
Jetson AGX Xavier and the New Era of Autonomous MachinesJetson AGX Xavier and the New Era of Autonomous Machines
Jetson AGX Xavier and the New Era of Autonomous MachinesDustin Franklin
 
4 p9 architecture overview japan meetup
4 p9 architecture overview japan meetup4 p9 architecture overview japan meetup
4 p9 architecture overview japan meetupYutaka Kawai
 
Performance analysis of 3D Finite Difference computational stencils on Seamic...
Performance analysis of 3D Finite Difference computational stencils on Seamic...Performance analysis of 3D Finite Difference computational stencils on Seamic...
Performance analysis of 3D Finite Difference computational stencils on Seamic...Joshua Mora
 
An open flow for dn ns on ultra low-power RISC-V cores
An open flow for dn ns on ultra low-power RISC-V coresAn open flow for dn ns on ultra low-power RISC-V cores
An open flow for dn ns on ultra low-power RISC-V coresRISC-V International
 
Product Roadmap iEi 2017
Product Roadmap iEi 2017Product Roadmap iEi 2017
Product Roadmap iEi 2017Andrei Teleanu
 
my Windows 7 info
my Windows 7 infomy Windows 7 info
my Windows 7 infoisky guard
 
Introducing the ADSP BF609 Blackfin Processors
Introducing the ADSP BF609 Blackfin ProcessorsIntroducing the ADSP BF609 Blackfin Processors
Introducing the ADSP BF609 Blackfin ProcessorsAnalog Devices, Inc.
 
Threading Successes 06 Allegorithmic
Threading Successes 06   AllegorithmicThreading Successes 06   Allegorithmic
Threading Successes 06 Allegorithmicguest40fc7cd
 
How to measure your dataflow using fio, pktgen and bandwidthTest
How to measure your dataflow using fio, pktgen and bandwidthTestHow to measure your dataflow using fio, pktgen and bandwidthTest
How to measure your dataflow using fio, pktgen and bandwidthTestNaoto MATSUMOTO
 
Architectural Analysis of Game Machines
Architectural Analysis of Game MachinesArchitectural Analysis of Game Machines
Architectural Analysis of Game MachinesPraveen AP
 
Hardware & Software Platforms for HPC, AI and ML
Hardware & Software Platforms for HPC, AI and MLHardware & Software Platforms for HPC, AI and ML
Hardware & Software Platforms for HPC, AI and MLinside-BigData.com
 
Fpga video capturing
Fpga video capturingFpga video capturing
Fpga video capturingshehryar88
 

Ähnlich wie DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ (20)

ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
 
Jetson AGX Xavier and the New Era of Autonomous Machines
Jetson AGX Xavier and the New Era of Autonomous MachinesJetson AGX Xavier and the New Era of Autonomous Machines
Jetson AGX Xavier and the New Era of Autonomous Machines
 
4 p9 architecture overview japan meetup
4 p9 architecture overview japan meetup4 p9 architecture overview japan meetup
4 p9 architecture overview japan meetup
 
Performance analysis of 3D Finite Difference computational stencils on Seamic...
Performance analysis of 3D Finite Difference computational stencils on Seamic...Performance analysis of 3D Finite Difference computational stencils on Seamic...
Performance analysis of 3D Finite Difference computational stencils on Seamic...
 
An open flow for dn ns on ultra low-power RISC-V cores
An open flow for dn ns on ultra low-power RISC-V coresAn open flow for dn ns on ultra low-power RISC-V cores
An open flow for dn ns on ultra low-power RISC-V cores
 
Zynq ultrascale
Zynq ultrascaleZynq ultrascale
Zynq ultrascale
 
26_Fan.pdf
26_Fan.pdf26_Fan.pdf
26_Fan.pdf
 
Product Roadmap iEi 2017
Product Roadmap iEi 2017Product Roadmap iEi 2017
Product Roadmap iEi 2017
 
my Windows 7 info
my Windows 7 infomy Windows 7 info
my Windows 7 info
 
M61 pmv
M61 pmvM61 pmv
M61 pmv
 
Introducing the ADSP BF609 Blackfin Processors
Introducing the ADSP BF609 Blackfin ProcessorsIntroducing the ADSP BF609 Blackfin Processors
Introducing the ADSP BF609 Blackfin Processors
 
Threading Successes 06 Allegorithmic
Threading Successes 06   AllegorithmicThreading Successes 06   Allegorithmic
Threading Successes 06 Allegorithmic
 
How to measure your dataflow using fio, pktgen and bandwidthTest
How to measure your dataflow using fio, pktgen and bandwidthTestHow to measure your dataflow using fio, pktgen and bandwidthTest
How to measure your dataflow using fio, pktgen and bandwidthTest
 
Architectural Analysis of Game Machines
Architectural Analysis of Game MachinesArchitectural Analysis of Game Machines
Architectural Analysis of Game Machines
 
Hp pro liant dl3xx g7
Hp pro liant dl3xx g7Hp pro liant dl3xx g7
Hp pro liant dl3xx g7
 
Dpdk applications
Dpdk applicationsDpdk applications
Dpdk applications
 
Understanding DPDK
Understanding DPDKUnderstanding DPDK
Understanding DPDK
 
Hardware & Software Platforms for HPC, AI and ML
Hardware & Software Platforms for HPC, AI and MLHardware & Software Platforms for HPC, AI and ML
Hardware & Software Platforms for HPC, AI and ML
 
Fpga video capturing
Fpga video capturingFpga video capturing
Fpga video capturing
 
HDX 3D
HDX 3DHDX 3D
HDX 3D
 

Mehr von 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
 
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Shinya Takamaeda-Y
 
ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)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
 
PythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミングPythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミングShinya Takamaeda-Y
 
マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討Shinya Takamaeda-Y
 
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
 
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
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう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
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向Shinya Takamaeda-Y
 
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)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
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータShinya Takamaeda-Y
 

Mehr von Shinya Takamaeda-Y (20)

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...
 
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
 
ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)
 
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
 
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)
 
PythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミングPythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミング
 
マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討マルチパラダイム型高水準ハードウェア設計環境の検討
マルチパラダイム型高水準ハードウェア設計環境の検討
 
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
 
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみようPythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
PythonとPyCoRAMでお手軽にFPGAシステムを開発してみよう
 
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を用いた高水準ハードウェア設計環境の検討
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
 
コンピュータアーキテクチャ研究の最新動向〜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)入門
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
 
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
 
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...
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 

Kürzlich hochgeladen

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 

Kürzlich hochgeladen (20)

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 

DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ

  • 1. DNN NNgen † ‡ † / JST https://sites.google.com/view/casys-ja/ ‡ 2019 11 12 FPGAX #12@
  • 2. HW Binary Neural Network Original Binary Binary w/ Dither + Quant. A W Wgt. Act. High Precision (32-bit) Low Precision (1-bit for each) Low Precision (1-bit) Information Loss! Out Ch Binary Neural Network (BNN) +1/-1 (1 ) Act Weight J L : 1 → DitherNN [Ando+, FPT’18] DeltaNet [Oba+, ASAP’19] +1/-1 BNN-HW Σ f Σ f Σ f Σ f Σ f Σ f Σ f Σ f f f Σ Σ Σ Σ f f 0 f f Σ Σ Σ Σ f f 0 Binary NN DeltaNet
  • 3. SoC FPGA DNN 3 SoC FPGA Programmable LogicOn-chipInterconnect(AMBAAXI4) CPU NW DRAM Ctrl GPU Soft CPU BRAM DSP DNN Processor BRAM DSP BRAM DSP DSP DSP BRAM BRAM Camera Camera Image Processor BRAM DSP Mortar Mortar Controller GPIO Pin GPIO Controller DRAM All-in-One 1
  • 4. SoC FPGA DNN 4 SoC FPGA Programmable LogicOn-chipInterconnect(AMBAAXI4) CPU NW DRAM Ctrl GPU Soft CPU BRAM DSP DNN Processor BRAM DSP BRAM DSP DSP DSP BRAM BRAM Camera Camera Image Processor BRAM DSP Mortar Mortar Controller GPIO Pin GPIO Controller DRAM (BRAM) (DSP) L I/O J
  • 5. NNgen n DNN IP n : Tensorflow n : IP (or RTL) l Veriloggen Object l Verilog HDL l IP-XACT 5 Model Definition layer0 = ng.conv2d(a0, w0, ...) NNgen Scheduler Graph Optimization Task Scheduling Allocator RAM Assignment Stream-Op Assignment Pipeline Synthesis Building Stream-Op via Veriloggen.Stream API Control Synthesis Building FSM via Veriloggen.Thread API Code Synthesis RTL and IP-XACT generation via Veriloggen/IPgen Pyverilog Verilog HDL AST Abstraction Veriloggen Veriloggen.Thread Procedural HLS: Python Source Code -> AST -> FSM Veriloggen.Stream Dataflow HLS: Dataflow Definition -> Scheduled Pipeline Veriloggen.Core Verilog HDL Abstraction and Meta-Programing API
  • 6. n DNN l Tensorflow n l HLS Veriloggen https://github.com/PyHDI/veriloggen l HLS C++/C HDL n l l Veriloggen.Thread, Veriloggen.Stream 6
  • 9. NNgen DNN-HW 9 conv2d: 2D (w/ ReLU) placeholder variable
  • 15. NNgen-DNN 15 CPU Substream Pool Computing Unit Pool RAM Pool Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Acc Acc Acc Acc AddTree AddTree AddTree AddTree conv2d 3x3 Parallel: 3x3x4x4x2x2 max_pool 2x2 Parallel: 4 matmul Parallel: 4x4 ThreadArg Stream ThreadArg Stream ThreadArg Stream Main Thread SubstreamInterconnect BRAM Width: 8x4-bit BRAM Width: 8x4-bit BRAM MemoryInterconnect DMAInterconnect DMAController AXI4MasterI/FAXI4SlaveI/F Config Register AXI4Interconnect NNgen Accelerator IP-core (IP-XACT) DRAM OP
  • 16. NNgen-DNN 16 CPU Substream Pool Computing Unit Pool RAM Pool Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Acc Acc Acc Acc AddTree AddTree AddTree AddTree conv2d 3x3 Parallel: 3x3x4x4x2x2 max_pool 2x2 Parallel: 4 matmul Parallel: 4x4 ThreadArg Stream ThreadArg Stream ThreadArg Stream Main Thread SubstreamInterconnect BRAM Width: 8x4-bit BRAM Width: 8x4-bit BRAM MemoryInterconnect DMAInterconnect DMAController AXI4MasterI/FAXI4SlaveI/F Config Register AXI4Interconnect NNgen Accelerator IP-core (IP-XACT) DRAM OP
  • 17. NNgen-DNN 17 CPU Substream Pool Computing Unit Pool RAM Pool Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Acc Acc Acc Acc AddTree AddTree AddTree AddTree conv2d 3x3 Parallel: 3x3x4x4x2x2 max_pool 2x2 Parallel: 4 matmul Parallel: 4x4 ThreadArg Stream ThreadArg Stream ThreadArg Stream Main Thread SubstreamInterconnect BRAM Width: 8x4-bit BRAM Width: 8x4-bit BRAM MemoryInterconnect DMAInterconnect DMAController AXI4MasterI/FAXI4SlaveI/F Config Register AXI4Interconnect NNgen Accelerator IP-core (IP-XACT) DRAM NoC
  • 18. NNgen-DNN 18 CPU Substream Pool Computing Unit Pool RAM Pool Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Acc Acc Acc Acc AddTree AddTree AddTree AddTree conv2d 3x3 Parallel: 3x3x4x4x2x2 max_pool 2x2 Parallel: 4 matmul Parallel: 4x4 ThreadArg Stream ThreadArg Stream ThreadArg Stream Main Thread SubstreamInterconnect BRAM Width: 8x4-bit BRAM Width: 8x4-bit BRAM MemoryInterconnect DMAInterconnect DMAController AXI4MasterI/FAXI4SlaveI/F Config Register AXI4Interconnect NNgen Accelerator IP-core (IP-XACT) DRAM RAM
  • 19. NNgen-DNN 19 CPU Substream Pool Computing Unit Pool RAM Pool Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Acc Acc Acc Acc AddTree AddTree AddTree AddTree conv2d 3x3 Parallel: 3x3x4x4x2x2 max_pool 2x2 Parallel: 4 matmul Parallel: 4x4 ThreadArg Stream ThreadArg Stream ThreadArg Stream Main Thread SubstreamInterconnect BRAM Width: 8x4-bit BRAM Width: 8x4-bit BRAM MemoryInterconnect DMAInterconnect DMAController AXI4MasterI/FAXI4SlaveI/F Config Register AXI4Interconnect NNgen Accelerator IP-core (IP-XACT) DRAM RAM NoC
  • 20. NNgen-DNN 20 CPU Substream Pool Computing Unit Pool RAM Pool Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Acc Acc Acc Acc AddTree AddTree AddTree AddTree conv2d 3x3 Parallel: 3x3x4x4x2x2 max_pool 2x2 Parallel: 4 matmul Parallel: 4x4 ThreadArg Stream ThreadArg Stream ThreadArg Stream Main Thread SubstreamInterconnect BRAM Width: 8x4-bit BRAM Width: 8x4-bit BRAM MemoryInterconnect DMAInterconnect DMAController AXI4MasterI/FAXI4SlaveI/F Config Register AXI4Interconnect NNgen Accelerator IP-core (IP-XACT) DRAM AXI4-Master + DMA
  • 21. NNgen-DNN 21 CPU Substream Pool Computing Unit Pool RAM Pool Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Acc Acc Acc Acc AddTree AddTree AddTree AddTree conv2d 3x3 Parallel: 3x3x4x4x2x2 max_pool 2x2 Parallel: 4 matmul Parallel: 4x4 ThreadArg Stream ThreadArg Stream ThreadArg Stream Main Thread SubstreamInterconnect BRAM Width: 8x4-bit BRAM Width: 8x4-bit BRAM MemoryInterconnect DMAInterconnect DMAController AXI4MasterI/FAXI4SlaveI/F Config Register AXI4Interconnect NNgen Accelerator IP-core (IP-XACT) DRAM FSM FSMFSM
  • 22. NNgen-DNN 22 CPU Substream Pool Computing Unit Pool RAM Pool Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Mul Acc Acc Acc Acc AddTree AddTree AddTree AddTree conv2d 3x3 Parallel: 3x3x4x4x2x2 max_pool 2x2 Parallel: 4 matmul Parallel: 4x4 ThreadArg Stream ThreadArg Stream ThreadArg Stream Main Thread SubstreamInterconnect BRAM Width: 8x4-bit BRAM Width: 8x4-bit BRAM MemoryInterconnect DMAInterconnect DMAController AXI4MasterI/FAXI4SlaveI/F Config Register AXI4Interconnect NNgen Accelerator IP-core (IP-XACT) DRAM
  • 23. n FSM NNgen n RTL + IP Veriloggen n FSM Python l 23 Model Definition layer0 = ng.conv2d(a0, w0, ...) NNgen Scheduler Graph Optimization Task Scheduling Allocator RAM Assignment Stream-Op Assignment Pipeline Synthesis Building Stream-Op via Veriloggen.Stream API Control Synthesis Building FSM via Veriloggen.Thread API Code Synthesis RTL and IP-XACT generation via Veriloggen/IPgen Pyverilog Verilog HDL AST Abstraction Veriloggen Veriloggen.Thread Procedural HLS: Python Source Code -> AST -> FSM Veriloggen.Stream Dataflow HLS: Dataflow Definition -> Scheduled Pipeline Veriloggen.Core Verilog HDL Abstraction and Meta-Programing API
  • 24. Veriloggen: 24 Veriloggen.Core (RTL) Thread RAM Thread RAM Stream Stream Computing Unit Thread Python-to-FSM Stream Control Thread Bus + DMA (AXI4 Master/Slave) AXI4 Interconnect DRAMCPU RTL Control Intrinsic RTL RTL Control DMA Control DMA Burst Transfer
  • 25. NNgen nONNX (nngen.onnx) l ONNX NNgen → (Pytorch ) Verilog HDL/IP-XACT ONNX NNgen → n (nngen.quantizer) l 1/2/4/8/16/32/64 l ü Experimental Implementation 25
  • 27. 27
  • 30. DNN NNgen † ‡ † / JST ‡ 2019 11 12 FPGAX #12@