SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
オープンソースコンパイラNNgenでつくる
エッジ・ディープラーニングシステム
東京大学 大学院情報理工学系研究科
コンピュータ科学専攻 准教授
JSTさきがけ
高前田 伸也
2
高 前 田 伸 也
た か ま え だ し ん や
東京大学
大学院情報理工学系研究科
コンピュータ科学専攻 准教授
(理学部 情報科学科 兼担)
JST さきがけ研究者
専門分野 コンピュータアーキテクチャ
「素敵」なコンピュータの構造や設計技術、
コンピュータそのものの在り方について
研究しています
• 高位合成コンパイラ
• FPGAシステム
• アルゴリズム/ハードウェア協調設計
• 機械学習処理の高速化
オープンソースソフトウェアの開発にも
力を入れています
• NNgen: github.com/NNgen/nngen
• Veriloggen: github.com/PyHDI/veriloggen
• Pyverilog: github.com/PyHDI/Pyverilog
Twitter / GitHub
shtaxxx
Co-design
for Nice Computer System
Nice is …
ü High Speed
ü Low Power and Energy
ü Reliable and Dependable
ü FunJ
高前田 研究室
CASYS (Computer Architecture and Systems Lab.)
Software
Compiler for Machine Learning Acceleration
Compiler for Hardware Design
Hardware / Architecture
Machine Learning Chip
Annealing Processor
FPGA Accelerator
Application / Algorithm
Machine Learning / Deep Learning
Combinatorial Optimization
Image Processing
Hardware / Architecture
SRAM
Register
Dec.
SRAM
Dec.
Register
Processing Units
Processing Units
Outgoing Weights
Incoming Weights
PIM (Processing-in-Memory)
Neuron
ID
Neuron
ID
Input
Neuron
Output
Neuron
PE Array
W_MEM
A_MEM
DMAC
TCI
I/F
O_MEM
B_MEM
Sequencer
μ
Controller
Inst.
Mem.
Sync.
Table
Neighbor Link (n/e/w/s)
Global Network
Core
From W_MEM
From
A_MEM
From B_MEM
PE Column
O
: Linear
: Log
PE0
ACT
FF0
FF1
PE1
FF31
PE31
20
20
32
1
32
1
1
1
Processing Elements
(MAC Array)
Input Buffer
Weight
Buffer
Output Buffer
Data
Mover
(DMA)
DRAM
Controller
Predictor
Deep Learning Accelerator Chip
BRein Memory: In-Memory
Binary Neural Network Chip
QUEST: Log-Quantized
Neural Network Chip
Deep Learning Accelerator Architecture
Dead
Neuron
Predictor
Dead
Neuron
Predictor
Dead
Neuron
Predictor
Main Graph
Predictor
Dead Neuron Prediction:
Runtime Neuron Pruning Architecture
FPGA Accelerator
Multi-FPGA based
Parallel Computer
Low-Power
Cloud Computing
Edge Computing
Application / Algorithm Software
Original Binary Binary w/ Dither
O
ut Ch
Pseudo Color on Binary
Neural Network by
Error Diffusion
Dither NN: Accurate Binary Neural Network
by Error Diffusion
DeltaNet: Accurate Binary Neural Network
by Neighbor Comparison
Σ f
Σ f
Σ f
Σ f
Σ f
Σ f
Σ f
Σ f
f
f
Σ
Σ
Σ
Σ
f
f
0 f
f
Σ
Σ
Σ
Σ
f
f
0
DeltaNet
Standard
Binary Net
Comparison-based
activation keeps the
partial order information
of neurons on Binary NN
Veriloggen: Multi-paradigm Hardware Synthesis
Compiler on Python
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 DRAM
CPU
RTL
Control
Intrinsic
RTL
埋め込み
RTL
Control DMA Control
DMA Burst Transfer
NNgen: Neural Network Hardware Synthesis
Compiler for FPGAs
You can develop a model-specific
hardware from neural network
definition without hardware
description
最近の研究:
セキュアな不揮発性メモリのクラッシュ一貫性支援
6
新しい不揮発性メモリ (NVM)
次世代のメモリ技術として注目
JDRAM並の速度、SSDと同じ永続性
Lセキュリティ、クラッシュ一貫性
現状: 別々に研究されてきた
→しかし、実用上は両者の考慮が重要
セキュアなNVMではクラッシュ一貫性実現の
ボトルネックが実は異なることを示し
最適化アーキテクチャを提案
レジスタ
キャッシュ
DRAM
NVM
SSD
HDD
オンチップ
主記憶
二次記憶
揮発性
不揮発性
Intel Optane Persistent Memory (2019~)
最近の研究:
画像処理用のFPGAアクセラレータの小規模化
Bilateral Filter
l エッジを保持したまま平滑化ができるフィルタ
Bilateral Grid
l Bilateral Filterの近似手法の一つ、ウィンドウ半径に応じて計算量・
回路規模が増大するのを抑制できる
l FPGAに適した小型かつ高速なアクセラレータを実現
7
ノイズの乗った画像 Bilateral Filter で
処理した画像
Gaussian Filter で
処理した画像
最近の研究:
不確実性を評価できる機械学習の高速化
Bayesian Neural Network
l 重みが分布であるニューラルネットワーク
Ø 不確実性評価・少ないデータでの学習・過学習対策
ASBNN
l サンプリングベースの変分推論を近似により
計算省略し高速化するアルゴリズムとアーキテクチャを開発
8
近似しても
ほぼ同様の結果
ベースライン ASBNN
Edge Computing with “Intelligence of Things”
Cloud Computing
膨大なデータに基づく推論・制御J
情報送信から判断までの遅延大L
Edge computing
低遅延・リアルタイムな制御J
電力・計算能力の制約L
より高度な処理を
反射神経のように行うための
省エネルギー・高性能な
深層学習エッジデバイスが必要
9
Neural Network
パーセプトロン (Perceptron)
l 入力値に係数を乗算・総和、活性化関数を経て出力
ディープニューラルネットワーク (Deep Neural Network)
l 多層に積層したもの: 「畳み込み層」や「全結合層」などで構成
10
y = f (u)
u = wi xi
i=0
n
∑
x1
x2
x3
y
w1
w2
w3
f(u)
Perceptron
畳み込み (Convolution) 全結合 (Fully-connected)
Convolutionの計算パターン
11
N
M
K
K
M
R
C
Tr
Tc
N
C-S+K
Tn
Tm
入力
チャネル
出力チャネル
Tn: 入力チャネル方向
Tm: 出力チャネル方向
Tr, Tc: 出力画素方向
Tk: 重みフィルタ方向
5種類の方向に並列演算可能
各並列方向に対して最適解を求める
for m in 出力チャネル(M):
for n in 入力チャネル(N):
for r in 出力行(R):
for c in 出力列(C):
for k in 重み(K):
並列化
Tk
Tk
FPGA
(Field Programmable Gate Array)
ユーザーが回路構成を変更できる
やわらかいハードウェア
l アプリに特化した回路で処理をするので
高速、低消費電力
AND, OR, NOTなどの論理と記憶素子
の組み合わせを設計する
l ハードウェア記述言語 (HDL)
Ø 自分で詳細設計をするので大変
l 高位合成 (High Level Synthesis)
Ø Cなどのプログラミング言語で
動作・構造を設計するので効率的(なはず)
12
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
IOB
IOB
IOB
IOB
IOB
IOB
FPGA
FPGAに基づくSystem on Chip
SoC FPGA
Programmable Logic
On-chip
Interconnect
(AMBA
AXI4)
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なシステム
13
FPGAに基づくSystem on Chip
SoC FPGA
Programmable Logic
On-chip
Interconnect
(AMBA
AXI4)
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
他の機能の性能や資源量を考慮して
適切なアクセラレータ構成を決定したい
I/Oに直接アクセスできるため
低遅延処理が実現可能
14
NNgen: DNNモデル特化
HW高位合成コンパイラ
DNNモデル記述から
モデルに特化したFPGA用回路を
自動生成する高位合成コンパイラ
https://github.com/NNgen/nngen
l 入力(モデル記述)
Ø Tensorflow-like NNgen dataflow
Ø ONNX (Pytorch等から変換)
l 出力
Ø Verilog HDL, IP-XACT
ハードウェアの知識がなくても
DNNシステムが作れる
15
Import NNgen
placeholder, variable, constant
16
conv2d (w/ ReLU)
placeholder
variable
17
conv2d
max_pool
placeholder
variable
18
conv2d
placeholder
variable
max_pool
reshape
matmul (FC)
19
モデルデータフロー
ハードウェア構成の指定
(並列度、RAM容量、等)
20
モデルデータフロー
モデルからHWへ
21
22
学習済みモデルの
ダウンロード
ONNX形式に変換
ONNX形式から
NNgen形式へ
23
量子化
並列化
24
HW化
HW等価なSWとして
データフローを実行して動作検証
ベンダー開発ツールを用いたFPGA実装
Xilinx Vivadoの場合
l IP-XACTのIPコアをインポートして接続するだけ
25
NNgen IPコアをAXI4バスに接続
NNgen-DNNアーキテクチャ
26
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
Thread
Arg
Stream
Thread
Arg
Stream
Thread
Arg
Stream
Main Thread
Substream
Interconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
Memory
Interconnect
DMA
Interconnect
DMA
Controller
AXI4
Master
I/F
AXI4
Slave
I/F
Config Register
AXI4
Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
出現OPに対応するストリーム演算器
NNgen-DNNアーキテクチャ
27
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
Thread
Arg
Stream
Thread
Arg
Stream
Thread
Arg
Stream
Main Thread
Substream
Interconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
Memory
Interconnect
DMA
Interconnect
DMA
Controller
AXI4
Master
I/F
AXI4
Slave
I/F
Config Register
AXI4
Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
各OPで再利用される細粒度演算器群
NNgen-DNNアーキテクチャ
28
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
Thread
Arg
Stream
Thread
Arg
Stream
Thread
Arg
Stream
Main Thread
Substream
Interconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
Memory
Interconnect
DMA
Interconnect
DMA
Controller
AXI4
Master
I/F
AXI4
Slave
I/F
Config Register
AXI4
Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
演算器間を接続するカスタムNoC
NNgen-DNNアーキテクチャ
29
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
Thread
Arg
Stream
Thread
Arg
Stream
Thread
Arg
Stream
Main Thread
Substream
Interconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
Memory
Interconnect
DMA
Interconnect
DMA
Controller
AXI4
Master
I/F
AXI4
Slave
I/F
Config Register
AXI4
Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
オンチップRAM
NNgen-DNNアーキテクチャ
30
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
Thread
Arg
Stream
Thread
Arg
Stream
Thread
Arg
Stream
Main Thread
Substream
Interconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
Memory
Interconnect
DMA
Interconnect
DMA
Controller
AXI4
Master
I/F
AXI4
Slave
I/F
Config Register
AXI4
Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
演算器・RAM間カスタムNoC
NNgen-DNNアーキテクチャ
31
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
Thread
Arg
Stream
Thread
Arg
Stream
Thread
Arg
Stream
Main Thread
Substream
Interconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
Memory
Interconnect
DMA
Interconnect
DMA
Controller
AXI4
Master
I/F
AXI4
Slave
I/F
Config Register
AXI4
Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
データ転送機構(AXI4-Master + DMA)
NNgen-DNNアーキテクチャ
32
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
Thread
Arg
Stream
Thread
Arg
Stream
Thread
Arg
Stream
Main Thread
Substream
Interconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
Memory
Interconnect
DMA
Interconnect
DMA
Controller
AXI4
Master
I/F
AXI4
Slave
I/F
Config Register
AXI4
Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
トップレベル制御FSM
ストリーム演算制御FSM
トップFSMが動的に設定
する動作パラメータ
NNgen-DNNアーキテクチャ
33
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
Thread
Arg
Stream
Thread
Arg
Stream
Thread
Arg
Stream
Main Thread
Substream
Interconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
Memory
Interconnect
DMA
Interconnect
DMA
Controller
AXI4
Master
I/F
AXI4
Slave
I/F
Config Register
AXI4
Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
外部制御インターフェース
NNgen-DNNマイクロアーキテクチャ (conv2d)
34
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
Acc
Acc
Acc
Acc
Out
BRAM
8x4-bit
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
Bias
BRAM
8x4-bit
rshift
rshift
rshift
Add
Add
Add
Add
Mul
Mul
Mul
Mul
rshift
rshift
rshift
rshift
Scale
BRAM
8x4-bit
OutCh 0
OutCh 1
OutCh 2
OutCh 3
InCh 0
InCh 1
InCh 2
InCh 3
ReLU
ReLU
ReLU
ReLU
Pixel 0
Act (3, 3)
BRAM
8x4-bit
Act (1,1)
BRAM
8x4-bit
2-stage Xbar
: Substream
NNgen-DNNマイクロアーキテクチャ (conv2d)
35
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
Acc
Acc
Acc
Acc
Out
BRAM
8x4-bit
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
Bias
BRAM
8x4-bit
rshift
rshift
rshift
Add
Add
Add
Add
Mul
Mul
Mul
Mul
rshift
rshift
rshift
rshift
Scale
BRAM
8x4-bit
OutCh 0
OutCh 1
OutCh 2
OutCh 3
InCh 0
InCh 1
InCh 2
InCh 3
ReLU
ReLU
ReLU
ReLU
Pixel 0
Act (3, 3)
BRAM
8x4-bit
Act (1,1)
BRAM
8x4-bit
2-stage Xbar
: Substream
オンチップRAM
NNgen-DNNマイクロアーキテクチャ (conv2d)
36
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
Acc
Acc
Acc
Acc
Out
BRAM
8x4-bit
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
Bias
BRAM
8x4-bit
rshift
rshift
rshift
Add
Add
Add
Add
Mul
Mul
Mul
Mul
rshift
rshift
rshift
rshift
Scale
BRAM
8x4-bit
OutCh 0
OutCh 1
OutCh 2
OutCh 3
InCh 0
InCh 1
InCh 2
InCh 3
ReLU
ReLU
ReLU
ReLU
Pixel 0
Act (3, 3)
BRAM
8x4-bit
Act (1,1)
BRAM
8x4-bit
2-stage Xbar
: Substream
乗算器 (Substreamプールより)
NNgen-DNNマイクロアーキテクチャ (conv2d)
37
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
Acc
Acc
Acc
Acc
Out
BRAM
8x4-bit
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
Bias
BRAM
8x4-bit
rshift
rshift
rshift
Add
Add
Add
Add
Mul
Mul
Mul
Mul
rshift
rshift
rshift
rshift
Scale
BRAM
8x4-bit
OutCh 0
OutCh 1
OutCh 2
OutCh 3
InCh 0
InCh 1
InCh 2
InCh 3
ReLU
ReLU
ReLU
ReLU
Pixel 0
Act (3, 3)
BRAM
8x4-bit
Act (1,1)
BRAM
8x4-bit
2-stage Xbar
: Substream
加算ツリー (Substreamプールより)
NNgen-DNNマイクロアーキテクチャ (conv2d)
38
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
Acc
Acc
Acc
Acc
Out
BRAM
8x4-bit
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
Bias
BRAM
8x4-bit
rshift
rshift
rshift
Add
Add
Add
Add
Mul
Mul
Mul
Mul
rshift
rshift
rshift
rshift
Scale
BRAM
8x4-bit
OutCh 0
OutCh 1
OutCh 2
OutCh 3
InCh 0
InCh 1
InCh 2
InCh 3
ReLU
ReLU
ReLU
ReLU
Pixel 0
Act (3, 3)
BRAM
8x4-bit
Act (1,1)
BRAM
8x4-bit
2-stage Xbar
: Substream
積算器 (Substreamプールより)
NNgen-DNNマイクロアーキテクチャ (conv2d)
39
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
Acc
Acc
Acc
Acc
Out
BRAM
8x4-bit
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
Bias
BRAM
8x4-bit
rshift
rshift
rshift
Add
Add
Add
Add
Mul
Mul
Mul
Mul
rshift
rshift
rshift
rshift
Scale
BRAM
8x4-bit
OutCh 0
OutCh 1
OutCh 2
OutCh 3
InCh 0
InCh 1
InCh 2
InCh 3
ReLU
ReLU
ReLU
ReLU
Pixel 0
Act (3, 3)
BRAM
8x4-bit
Act (1,1)
BRAM
8x4-bit
2-stage Xbar
: Substream
正規化回路 (Substreamプールより)
NNgen-DNNマイクロアーキテクチャ (conv2d)
40
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Mul
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
Weight
BRAM
16x4-bit
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
AddTree
(4x3x3
input)
Acc
Acc
Acc
Acc
Out
BRAM
8x4-bit
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
rshift
Bias
BRAM
8x4-bit
rshift
rshift
rshift
Add
Add
Add
Add
Mul
Mul
Mul
Mul
rshift
rshift
rshift
rshift
Scale
BRAM
8x4-bit
OutCh 0
OutCh 1
OutCh 2
OutCh 3
InCh 0
InCh 1
InCh 2
InCh 3
ReLU
ReLU
ReLU
ReLU
Pixel 0
Act (3, 3)
BRAM
8x4-bit
Act (1,1)
BRAM
8x4-bit
2-stage Xbar
: Substream
活性化関数 (Substreamプールより)
NNgenの特徴
モデルに特化したアクセラレータを生成する
l モデル毎に異なる演算器アレイと制御回路を生成する
パラメータを変更することでアクセラレータ構成が変わる
l データ型(ビット幅)
Ø ng.intX (X = 1, 2, 4, 8, 16, 32, 64)
Ø ng.uintX (X = 1, 2, 4, 8, 16, 32, 64)
l 並列度: conv2dの場合
Ø par_ich: 入力チャネル方向の並列度 (1, 2, 4, 8, ...)
Ø par_och: 出力チャネル方向の並列度 (1, 2, 4, 8, ...)
Ø par_col: 行内の並列度 (1, 2, 4, 8, ...)
Ø par_row: 行数の並列度 (1, 2, 4, 8, ...)
→DNNモデルから要件に応じた異なるハードウェアが生成可能
41
NNgenのバックエンド: マルチパラダイム型
ハードウェア設計フレームワークVeriloggen
https://github.com/PyHDI/veriloggen
42
Veriloggen.Core (RTL)
Hardware Metaprogramming
Thread
RAM
Thread
RAM
Stream
Dataflow HLS
Stream
Computing
Unit
Thread
Python-to-FSM
HLS
Stream
Control
Thread Bus + DMA
(AXI4 Master/Slave)
AXI4 Interconnect DRAM
CPU
RTL
Control
Intrinsic
RTL
Embedding
RTL
Control DMA Control
DMA Burst Transfer
Veriloggen as Hardware Construction Language:
トップモジュール・制御回路
43
verilog.py
トップモジュール
クロック信号、リセット信号
AXI-Masterインターフェース + DMAコントローラ
AXI-Slaveインターフェース
+ 制御レジスタ
Veriloggen as High-Level Synthesis Language:
データフロー表現 (Stream) による演算回路
44
pool.py
Stream入力
pool演算
回路共有: オペレータ回路全体
各オペレータは同一性を判断するためのハッシュ値を持つ
l ハッシュ値が同一ならオペレータ回路 (Stream) を共有する
45
conv2d.py
pool.py
回路共有: 演算器、RAM
演算器(乗算器等)とRAMは異なるオペレータ回路で共有
l 演算器 (Substream) とRAMの要件を宣言する
46
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
Thread
Arg
Stream
Thread
Arg
Stream
Thread
Arg
Stream
Main Thread
Substream
Interconnect
BRAM
Width:
8x4-bit
BRAM
Width:
8x4-bit
BRAM
Memory
Interconnect
DMA
Interconnect
DMA
Controller
AXI4
Master
I/F
AXI4
Slave
I/F
Config Register
AXI4
Interconnect
NNgen Accelerator IP-core (IP-XACT)
DRAM
共有RAMプール 共有演算器プール
pool.py
ONNX Importer: Conv
47
ソース側の
ONNXノードを
先に変換する
レイアウトをNNgen形式
(NHWC) に変換
BatchNormの結合
NNgenオペレータ
の生成
パッドと
ストライドの
計算
レイアウト情報
の保持
ONNX Importer: Concat
48
ソース側の
ONNXノードを
先に変換する
ONNXレイアウトとNNgenレイアウトの対応関係を作成
結合軸 (axis) の変換
NNgenオペレータの生成
ACRiのNNgenのチュートリアル:
https://www.acri.c.titech.ac.jp/wordpress/archives/5576
NNgenを用いて
Ultra96V2上に
DNNアクセラレータを
つくるチュートリアル
l DNNモデルからRTLへ
l 学習済みモデル量子化
l PYNQによる制御
49
NNgenで「できること」
基本的なレイヤー/モデルのハードウェア化
l レイヤー: conv2d, matmul, max_pool, add, concat, slice, batchnorm, ...
l モデル: VGG, ResNet, ...
ハードウェア処理中へのソフトウェア処理の挿入
l Externレイヤー: 割り込みを発生させ途中処理をSWに委任
パラメータ指定による並列化・最適化
l データ型、並列度、メモリサイズ
学習済みモデルの任意ビット幅への量子化 (Post-training Quantization)
l 入力データの統計量に基づき、スケーリング、ビットシフト量を自動決定
ONNXを介した学習済みモデルのハードウェア化
l torchvision等の学習済みモデルがNo RTLでハードウェア化可能
57
NNgenで「できるようにしたいこと」
ハードウェア指向レイヤーのサポート
l Depth-wise Convolution, Grouped Convolution, ...
スパースなレイヤーのサポート
l PruningされたConv, FCの効率的な実行機構: CSC/CSR形式への対応、演算スキップ
予測に基づく計算スキップ機構のサポート
l Dead Neural Prediction
ベイジアンニューラルネットワークのサポート
l 信頼できるAIシステムの実現を支援
回路資源の効率化と大規模な並列化
l 異なる性質のオペレータ同士の回路共有: カーネルサイズが異なるConvの共有化を実装中
l 並列度に対して回路資源の増加が少ないスケーラブルなアーキテクチャ
58
大小関わらず、みなさまからのPull-requestをお待ちしています!
当研究室との産学連携・共同研究の提案もお待ちしています!

Contenu connexe

Tendances

Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksEmbedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksYusuke Uchida
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化Yusuke Uchida
 
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア智啓 出川
 
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層智啓 出川
 
不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何かRyousei Takano
 
U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介
U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介
U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介KCS Keio Computer Society
 
Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016Takayoshi Yamashita
 
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール智啓 出川
 
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層智啓 出川
 
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史智啓 出川
 
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御Ryosuke Okuta
 
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)智啓 出川
 
機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編Daiyu Hatakeyama
 
2015年度先端GPGPUシミュレーション工学特論 第4回 GPUのメモリ階層の詳細 (共有メモリ)
2015年度先端GPGPUシミュレーション工学特論 第4回 GPUのメモリ階層の詳細(共有メモリ)2015年度先端GPGPUシミュレーション工学特論 第4回 GPUのメモリ階層の詳細(共有メモリ)
2015年度先端GPGPUシミュレーション工学特論 第4回 GPUのメモリ階層の詳細 (共有メモリ)智啓 出川
 
2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術
2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術
2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術智啓 出川
 
なぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているかなぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているかNVIDIA Japan
 

Tendances (20)

研究を加速するChainerファミリー
研究を加速するChainerファミリー研究を加速するChainerファミリー
研究を加速するChainerファミリー
 
Embedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural NetworksEmbedding Watermarks into Deep Neural Networks
Embedding Watermarks into Deep Neural Networks
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
2015年度GPGPU実践基礎工学 第7回 シングルコアとマルチコア
 
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
2015年度GPGPU実践基礎工学 第13回 GPUのメモリ階層
 
不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か不揮発メモリとOS研究にまつわる何か
不揮発メモリとOS研究にまつわる何か
 
U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介
U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介
U-Net: Convolutional Networks for Biomedical Image Segmentationの紹介
 
Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016Tutorial-DeepLearning-PCSJ-IMPS2016
Tutorial-DeepLearning-PCSJ-IMPS2016
 
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール
2015年度GPGPU実践プログラミング 第6回 パフォーマンス解析ツール
 
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
 
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
2015年度GPGPU実践基礎工学 第1回 学際的分野における先端シミュレーション技術の歴史
 
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
 
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)
2015年度GPGPU実践基礎工学 第3回 GPUクラスタ上でのプログラミング(CUDA)
 
機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編機械学習 / Deep Learning 大全 (4) GPU編
機械学習 / Deep Learning 大全 (4) GPU編
 
IEEE ITSS Nagoya Chapter
IEEE ITSS Nagoya ChapterIEEE ITSS Nagoya Chapter
IEEE ITSS Nagoya Chapter
 
[基調講演] DLL_RealtimeAI
[基調講演] DLL_RealtimeAI[基調講演] DLL_RealtimeAI
[基調講演] DLL_RealtimeAI
 
2015年度先端GPGPUシミュレーション工学特論 第4回 GPUのメモリ階層の詳細 (共有メモリ)
2015年度先端GPGPUシミュレーション工学特論 第4回 GPUのメモリ階層の詳細(共有メモリ)2015年度先端GPGPUシミュレーション工学特論 第4回 GPUのメモリ階層の詳細(共有メモリ)
2015年度先端GPGPUシミュレーション工学特論 第4回 GPUのメモリ階層の詳細 (共有メモリ)
 
2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術
2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術
2015年度GPGPU実践基礎工学 第6回 ソフトウェアによるCPUの高速化技術
 
なぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているかなぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているか
 
ResNetの仕組み
ResNetの仕組みResNetの仕組み
ResNetの仕組み
 

Similaire à 2021 03-09-ac ri-nngen

MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus WorkshopHitoshi Sato
 
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryAtsushi Koshiba
 
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発Shinya Takamaeda-Y
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータShinya Takamaeda-Y
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713swkagami
 
Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)Fixstars Corporation
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会Hitoshi Sato
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表Hirotaka Kawata
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編Daiyu Hatakeyama
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法Takeshi Yamamuro
 
インフラ野郎AzureチームProX
インフラ野郎AzureチームProXインフラ野郎AzureチームProX
インフラ野郎AzureチームProXToru Makabe
 
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~NVIDIA Japan
 
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)Insight Technology, Inc.
 
Meltdown を正しく理解する
Meltdown を正しく理解するMeltdown を正しく理解する
Meltdown を正しく理解するNorimasa FUJITA
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向Shinya Takamaeda-Y
 
第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)RCCSRENKEI
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroupManaMurakami1
 
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料Shin-ya Koga
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介Hiroki Nakahara
 

Similaire à 2021 03-09-ac ri-nngen (20)

MemoryPlus Workshop
MemoryPlus WorkshopMemoryPlus Workshop
MemoryPlus Workshop
 
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent MemoryASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
ASPLOS2017: Building Durable Transactions with Decoupling for Persistent Memory
 
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 
kagamicomput201713
kagamicomput201713kagamicomput201713
kagamicomput201713
 
Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
 
機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編機械学習 / Deep Learning 大全 (6) Library編
機械学習 / Deep Learning 大全 (6) Library編
 
研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法研究動向から考えるx86/x64最適化手法
研究動向から考えるx86/x64最適化手法
 
インフラ野郎AzureチームProX
インフラ野郎AzureチームProXインフラ野郎AzureチームProX
インフラ野郎AzureチームProX
 
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
エヌビディアが加速するディープラーニング ~進化するニューラルネットワークとその開発方法について~
 
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
[INSIGHT OUT 2011] A12 ひとつのデータベース技術では生き残れない part1 カラムナーデータベース(Shinkubo)
 
Meltdown を正しく理解する
Meltdown を正しく理解するMeltdown を正しく理解する
Meltdown を正しく理解する
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
 
第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)第4回 配信講義 計算科学技術特論A (2021)
第4回 配信講義 計算科学技術特論A (2021)
 
ICD/CPSY 201412
ICD/CPSY 201412ICD/CPSY 201412
ICD/CPSY 201412
 
20170421 tensor flowusergroup
20170421 tensor flowusergroup20170421 tensor flowusergroup
20170421 tensor flowusergroup
 
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
 

Plus de 直久 住川

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

Plus de 直久 住川 (20)

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

2021 03-09-ac ri-nngen