SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
若手による高性能コンピュータシステムの最新動向解説
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

Weitere ähnliche Inhalte

Was ist angesagt?

Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Preferred Networks
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAryos36
 
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
 
fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也
fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也
fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也Preferred Networks
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層智啓 出川
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門Norishige Fukushima
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Hiroki Nakahara
 
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方Fixstars Corporation
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析Yuki Mizuno
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門NVIDIA Japan
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)RCCSRENKEI
 
実践イカパケット解析α
実践イカパケット解析α実践イカパケット解析α
実践イカパケット解析αYuki Mizuno
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺MITSUNARI Shigeo
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜Preferred Networks
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理Norishige Fukushima
 

Was ist angesagt? (20)

Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
Deep Learningのための専用プロセッサ「MN-Core」の開発と活用(2022/10/19東大大学院「 融合情報学特別講義Ⅲ」)
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
 
Gpu vs fpga
Gpu vs fpgaGpu vs fpga
Gpu vs fpga
 
Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)Fpga online seminar by fixstars (1st)
Fpga online seminar by fixstars (1st)
 
fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也
fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也
fpgax #11+TFUG ハード部:DNN専用ハードについて語る会-2019-02-02 MN-coreについて 金子 紘也
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
2015年度GPGPU実践プログラミング 第5回 GPUのメモリ階層
 
組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門組み込み関数(intrinsic)によるSIMD入門
組み込み関数(intrinsic)によるSIMD入門
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
ソフト高速化の専門家が教える!AI・IoTエッジデバイスの選び方
 
実践イカパケット解析
実践イカパケット解析実践イカパケット解析
実践イカパケット解析
 
CUDAプログラミング入門
CUDAプログラミング入門CUDAプログラミング入門
CUDAプログラミング入門
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)
 
実践イカパケット解析α
実践イカパケット解析α実践イカパケット解析α
実践イカパケット解析α
 
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
 
llvm入門
llvm入門llvm入門
llvm入門
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 

Andere mochten auch

Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)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 による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門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
 

Andere mochten auch (20)

Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
 
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 による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
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 とハードウェア
 

Ähnlich wie 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
 

Ähnlich wie 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を加速する
 
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
 

Mehr von 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
 
Mapping Applications with Collectives over Sub-communicators on Torus Network...
Mapping Applications with Collectives over Sub-communicators on Torus Network...Mapping Applications with Collectives over Sub-communicators on Torus Network...
Mapping Applications with Collectives over Sub-communicators on Torus Network...Shinya Takamaeda-Y
 

Mehr von Shinya Takamaeda-Y (20)

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を用いたオンチップネットワークシミュレーションの並列化
 
Mapping Applications with Collectives over Sub-communicators on Torus Network...
Mapping Applications with Collectives over Sub-communicators on Torus Network...Mapping Applications with Collectives over Sub-communicators on Torus Network...
Mapping Applications with Collectives over Sub-communicators on Torus Network...
 

Kürzlich hochgeladen

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
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
 

Kürzlich hochgeladen (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
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
 

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