SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
マルチパラダイム型
高水準ハードウェア設計環境の検討
高前田 伸也
奈良先端科学技術大学院大学 情報科学研究科
E-mail: shinya_at_is_naist_jp
2016年2月29日 15:25-15:50
IEICE VLD@沖縄県青年会館
目次
n 背景:FPGAと高位合成の流行
l 逐次記述からRTLに変換する動作合成だけでOK?
l 内容に応じて異なるパラダイムを使い分けるのが重要
n 提案:マルチパラダイム型高位ハードウェア設計
l 異なるモデル(RTL・データフロー・逐次)を密結合
l 要素技術:Veriloggen.Dataflow
• オペレータオーバーロードによる
データフローを主体とした演算パイプライン設計
n 評価
l Veriloggen.Dataflowの設計効率の評価
l PyCoRAM逐次合成器を用いたマルチパラダイム方式の初期評価
n まとめ
VLD2016-02 Shinya T-Y, NAIST 2
FPGAと高位合成、流行ってますね
n アクセラレータとしての
FPGA
l 機械学習(深層学習)
l データセンター
l スパコン,など
n 高位合成ツールの普及
l Vivado HLSが無料で利用可能
l (Altera, Xilinx共に)
OpenCLによる設計が可能
l オープンソースの高位合成ツールも登場
• LegUp (C)
• Synthesijer (Java)
• Polyphony (Python)
VLD2016-02 Shinya T-Y, NAIST 3
Microsoft Catapult [Putnam+, ISCA'14]
高位合成だけでOK?
n No.
n 動作合成では記述できない・したくない回路も多数存在
l 例)プロセッサ,タイミング・レイテンシ制約が厳しいI/F,等
n 最終的な性能チューニングにはRTLが結局必要だったり
l 例)Traxコンテストで毎回優勝する静岡大学はRTL設計
n 関連研究: プログラミング言語の記述力を活用した
RTL設計方式・ドメイン固有言語
l Chisel[Bachrach+,DAC'12]
l PyMTL[Lockhart+,MICRO’14]
l Synthesijer.Scala[三好,IEICE RECONF'15]
VLD2016-02 Shinya T-Y, NAIST 4
関連研究: Pythonによるハードウェアモデリング
PyMTL[Lockhart+,MICRO’14]
VLD2016-02 Shinya T-Y, NAIST 5
Derek Lockhart+: PyMTL: A Unified Framework for Vertically Integrated Computer Architecture Research, ACM/IEEE MICRO-47 (2014)
Pythonで
ハードウェア設計
3つの粒度に対応
FL: Functional Lv.
CL: Cycle Lv.
RL: RTL
HDLに変換可能なのは
RLのみL
粒度間の変換は手動L
(高位合成ではない)
ハードウェア設計言語に求められるもの
n 好みや用途に応じた選択肢がある
l ソフトウェア開発は用途と好みに応じて言語を選べる
• C, C++, Java, Python, Ruby, Perl, JavaScrit, Scala, Go, Haskell, ...
l ハードウェア開発は?→選択肢が少ない
• RTL: Verilog HDL, VHDL
• HDL DSL: Chisel (Scala DSL), PyMTL (Python DSL), ...
n 内容に応じて異なるパラダイムを使い分けるのが重要
l プロセッサ:RTL以下
l 低レイテンシI/O処理:手続き型,所々RTL?
l アプリケーションの初期実装:手続き型・機能レベル
l アプリケーションチューニング:RTL(を意識した何か)
VLD2016-02 Shinya T-Y, NAIST 6
疑問: パラダイム間は疎結合で良いのか?
n 現状、RTLと高位モデルをするには併用は
高位モデルをRTLに変換後に両者を結合して実現
l 例)AXI4等のインターコネクト上で複数のIPコアを接続
l 疎結合のみ可能:モジュールの独立性が高いこと自体は良いJ
n 同一コンポーネント中でも
RTL/高位モデルの併用できると嬉しいのでは?
l 例)I/F動作はRTLで書きたいが制御は逐次モデルで書けると楽
• レイテンシが重要なHWが書きたいけどFSMは書きたくないL
VLD2016-02 Shinya T-Y, NAIST 7
RTL
モジュール
高位設計
モジュール
AXI4インターコネクト
RTL/高位設計モジュールの
疎結合
RTL
モデル
高位
逐次
モデル
Reg
Input
Output
モジュール
単一モジュール中での
RTL/高位モデルの併用
提案: マルチパラダイム型高位設計
VLD2016-02 Shinya T-Y, NAIST 8
RTL
Thread (逐次処理
)
モジュール
Dataflow
(パイプライン)Wire
Input Output
Reg
Verilogモジュール
変換
3つの記述方式を併用
RTL:
レジスタ転送レベルで
振る舞いを実装
Thread:
FSMをベースに
逐次処理を実装
Dataflow:
データフロー記述で
演算パイプラインを実装
複数のパラダイムが同一モジュールの定義に
利用可能な高位設計環境
本発表の目標
(1) Pythonを用いたRTLおよびDataflow設計技術の提案と評価
(2) 既存のPythonによる動作合成器を用いた初期検討
要素技術(RTL): Veriloggen[高前田,IEICE RECONF'15]:
PythonによるRTLメタプログラミング
VLD2016-02 Shinya T-Y, NAIST 9
Design Generator by Python
from veriloggen import *
m = Module('blinkled')
clk = m.Input('CLK')
led = m.Output('LED', 8)
count = m.Reg('count', 32)
m.Assign( led(count[31:24]) )
m.Always(Posedge(clk)(
count( count + 1 ) )
hdl = m.to_verilog()
print(hdl)
blinkled
CLK RST
LED count
assign
always
Veriloggen Object
module blinkled (
input CLK,
output [7:0] LED
);
reg [31:0] count;
assign LED = count[31:24];
always @(posedge CLK) begin
count <= count + 1;
end
endmodule
Verilog Source Code
module
input
CLK
input
RST
blinkled
Verilog AST
to_verilog()
Verilog
AST
Generator
Verilog
Code
Generator
Run on Python Interpreter
Verilog HDLコードの
組み立てルールをPythonの
言語機能を活用して記述
Verilog HDLによる回路記
述・
テストベンチが生成される
実行
Verilogコードをオブジェクトとして表現
VLD2016-02 Shinya T-Y, NAIST 10
Moduleオブジェクト
Pythonの言語機能を用いて
オブジェクトを組み立てる
(mの)Regオブジェクト
"count <= 0"オブジェクト
"count==1023"オブジェクト
Ifオブジェクト
(mの)Alwaysオブジェクト
完成したModule
オブジェクトをリターン
コード生成 (to_verilog)
n Moduleオブジェクトのto_verilog()メソッドを呼び出す
と文字列形式でソースコードが取得できる
n Verilog HDLのソースコード解析・生成ツールキット
Pyverilogを利用
VLD2016-02 Shinya T-Y, NAIST 11
Veriloggenの利用例:メソッド切り出しによる
コーディングパターン再利用
VLD2016-02 Shinya T-Y, NAIST 12
RAM I/Fのコーディングパターン
2つのI/Fを追加
要素技術(Dataflow):Veriloggen.Dataflow:
オペレータオーバーロードによるデータフロー設計
VLD2016-02 Shinya T-Y, NAIST 13
SWとして実行可能な
普通のPythonのメソッド定義
SWとして実行可能な
普通のPythonのメソッド定義
Veriloggen.Dataflow:オペレータオーバーロード
によるデータフロー設計
VLD2016-02 Shinya T-Y, NAIST 14
SWとして実行可能な
普通のPythonのメソッド定義
データフロー変数の生成前述のメソッド定義に通常の変数
ではなくデータフロー変数を渡す
出力ポート
設定と
Verilog
モジュール
生成
Veriloggen.Dataflow:オペレータオーバーロード
によるデータフロー設計
VLD2016-02 Shinya T-Y, NAIST 15
delay
dout3
delay
R
delay
R
delay
R
Cond
R
<
0
Cond
0
<
R
delay
R
Cond
0
Cond
01 2
delay
R
<
R
delay
R
Cond
L
delay
R
2 1
<
0
Cond
0
<
R
delay
R
Cond
0
Cond
0 1 2
L
delay
R
delay
R
Cond
L
delay
R
2 1
<
0
Cond
0
delay
R
delay
R
L
delay
R
din0
L
delay
R
21
din1
R
delay
R
12
delay
R
delay
R
1 2
delay
R
din2
R
delay
R
delay
R
1 2
delay
R
delay
R
delay
R
din3
R
delay
dout2
R
Cond
0
Cond
02 1
dout0 dout1
2 1
delay
R
L
delay
R
2 1
1 2
データフローグラフ生成
遅延レジスタが自動挿入されたパイプライン回路
パイプライン入力
パイプライン出力
オペレータオーバーロードによる
データフロー変数の組み立て
VLD2016-02 Shinya T-Y, NAIST 16
add
add(+)演算子の
オペレータ
オーバーロード
Dataflow.Plus
オブジェクトを
リターン
Veriloggenとその他の処理系との違い
n 高位合成や高位DSLはソースコードそのものが回路定義
l リフレクションを利用:ソースコード情報を取得
l ソースコードを「コンパイラで」解析しデータフロー等に変換
l 回路を追加するにはソースコードを追加する必要がある
• 頻出パターンもコード化しないといけないL
l 生成元言語のサブセットのみ対応L
n Veriloggen.Dataflowは明示的にHDLを組み立てる
l リフレクション未使用:ソースコードそのもの定義は無関係
l ソースコードの「実行」によりデータフロー等を構築
l 回路の追加は明示的なオブジェクト操作で実現される
• 頻出パターンはメソッド切り出しができるJ
l 生成元言語のすべての機能を利用できるJ
l ソフトウェア文法をそのままHW化はできないL
VLD2016-02 Shinya T-Y, NAIST 17
要素技術(Thread): PyCoRAM[Takamaeda+,CARL2013]
メモリ抽象化と動作合成によるIPコア設計FW
n 入力:2種類のソースコード
l データフロー(演算パイプライン):Verilog HDL
l データ転送制御:Python
n 出力:演算パイプと制御機構を持つIPコア
l DMAを主体としたデータ転送重点型ハードウェアが合成される
VLD2016-02 Shinya T-Y, NAIST 18
データフロー
(Verilog HDL)
制御フロー
(Python)
HW
構造
解析
RTL
変換
制解
対象
解析
高位
合成
処理系
による
RTL化
インター
フェース
合成
・
IPコア
パッケー
ジ化
PyCoRAMコンパイルフロー
入力: 高抽象度
デザイン
出力: 演算パイプライン+データ供給エンジンを
持つアクセラレータIPコア・システム
データパス 制御
Memory/Stream DMAコントローラ
Channel/
Register
オンチップ・インターコネクト
メインメモリ (DRAM)
IPコア
IOChannel/
IORegister
PyCoRAM:アーキテクチャ
VLD2016-02 Shinya T-Y, NAIST 19
データパス 制御
Memory/Stream DMAコントローラ
Channel/Regi
ster
IO
Channel/IO
Register
PyCoRAM:アーキテクチャ
VLD2016-02 Shinya T-Y, NAIST 20
データパス 制御
Memory/Stream DMAコントローラ
Channel/Regi
ster
IO
Channel/IO
Register
Computing Logic
Modeled in Verilog HDL
Control Thread
Modeled in Python
PyCoRAM:アーキテクチャ
VLD2016-02 Shinya T-Y, NAIST 21
データパス 制御
Memory/Stream DMAコントローラ
Channel/Regi
ster
IO
Channel/IO
Register
Memory: ロジック用ローカルメモリ
Stream: ロジック用FIFO
Channel: ロジック-スレッド間FIFO
Register: ロジック-スレッド間共有レジスタ
IO Channel: 外部制御用FIFO
IO Register: 外部制御用共有レジスタ
PyCoRAM:アーキテクチャ
VLD2016-02 Shinya T-Y, NAIST 22
データパス 制御
Memory/Stream DMAコントローラ
Channel/Regi
ster
オンチップ・インターコネクト
メインメモリ (DRAM)
IO
Channel/IO
Register
PyCoRAM:アーキテクチャ
VLD2016-02 Shinya T-Y, NAIST 23
データパス 制御
Memory/Stream DMAコントローラ
Channel/Regi
ster
オンチップ・インターコネクト
メインメモリ (DRAM)
IO
Channel/IO
Register
Master Interface
メモリへ能動的にアクセス
Slave Interface
CPUからアクセスされる
PyCoRAMにおけるIPコアの作り方・でき方
n 2種類のファイルを用意する
l Verilog HDL:
計算ロジック
l Python:
データ転送制御
n PyCoRAMが自動的にIPコアのパッケージを作成
l Python-Verilog高位合成とRTL変換を自動で行う
CoramMemory1P
#(
.CORAM_THREAD_NAME("thread_name
"),
.CORAM_ID(0),
.CORAM_ADDR_LEN(ADDR_LEN),
.CORAM_DATA_WIDTH(DATA_WIDTH)
)
inst_memory
(.CLK(CLK),
.ADDR(mem_addr),
.D(mem_d),
.WE(mem_we),
.Q(mem_q)
);
VLD2016-02 Shinya T-Y, NAIST 24
評価
n 本発表では2つの観点で評価
l Dataflow.Dataflowの生産性
l マルチパラダイム型高位設計環境の初期検討
n Dataflow.Dataflowの生産性について
l アプリケーション: ソーティングネットワーク
• 完全なパイプライン回路:N-sort / cycle
• N = 4, 8, 16, 32 で評価
l 参考までにLED点灯回路(Lチカ)も評価
VLD2016-02 Shinya T-Y, NAIST 25
評価
n マルチパラダイム型高位設計環境の初期検討
l RTL+Dataflow+Threadを併せ持つ高位設計環境の
プロトタイプを開発
l Pythonをベースとする独立した開発済みツールを簡易的に結合
• RTL: Veriloggen
• Dataflow: Veriloggen.Dataflow
• Thread: PyCoRAM (Thread Generator部)
n 評価方法
l SLOC: Source Lines of Code
• 同一のPyCoRAM IPコアを作成するのに必要なPythonでの
コード行数と従来手法(Verilog HDL+Python)の行数を比較
l 回路規模・最大動作周波数(見積もり)
• 合成ツール: Xilinx ISE 14.7
• デバイス: Airtix-7 XC7A100T-1csg324
VLD2016-02 Shinya T-Y, NAIST 26
評価アプリケーション
n 密行列積 PyCoRAM IPコア
l 従来はRTL・Dataflow部はVerilog HDLにて実装
l 本評価ではPythonにて実装しVerilog HDLを生成
VLD2016-02 Shinya T-Y, NAIST 27
Computing Logic
Control
Thread
(Python)
sum
CoRAM
Memory 0
B
× +
CoRAM
Memory 1
CoRAM
Memory 2
Control Logic
CoRAM
Channel 0
8-stage
Multiply
PipelineA
C
Dataflow
Thread
RTL
評価結果: Dataflowの生産性
n 単一のPythonコードから異なる構成のハードウェアを
n 単一のPythonコードから異なる構成のハードウェアを
生成可能
l 45行のPythonコードから4種類のソート回路を生成
l 遅延レジスタ・ストール用回路等は自動で挿入される
l →高い生産性を持つと言って良いのでは?
VLD2016-02 Shinya T-Y, NAIST 28
Python Verilog
評価結果: マルチパラダイム方式の初期検討
n 単一のPythonコードから異なる構成のハードウェアを
n RTL+Dataflow: 4倍程度の長さのVerilogコードを生成
l 手書きのものと比べての遜色ないコード長
n 回路規模については若干削減
l Dataflowにより合成されたパイプラインの構成が若干異なる?
VLD2016-02 Shinya T-Y, NAIST 29
Python Verilog
手書きVerilog
評価結果: マルチパラダイム方式の初期検討
n 単一のPythonコードから異なる構成のハードウェアを
n Thread: 一般的な高位合成と同じく高効率
n まとめ:
l 複数のパラダイムを併用することでコード量は削減可能J
l 考えるコストについては・・・?L
VLD2016-02 Shinya T-Y, NAIST 30
Python Verilog
まとめ: マルチパラダイム型高位設計
VLD2016-02 Shinya T-Y, NAIST 31
RTL
Thread (逐次処理
)
モジュール
Dataflow
(パイプライン)Wire
Input Output
Reg
Verilogモジュール
変換
3つの記述方式を併用
RTL:
レジスタ転送レベルで
振る舞いを実装
Thread:
FSMをベースに
逐次処理を実装
Dataflow:
データフロー記述で
演算パイプラインを実装
本発表の目標
(1) Pythonを用いたRTLおよびDataflow設計技術の提案と評価
(2) 既存のPythonによる動作合成器を用いた初期検討
本発表のまとめ
(1) Dataflowモデルによる高い生産性の達成
(2) Verilogのみを用いた設計と同等の品質を少ないコード量で実現可能

Weitere ähnliche Inhalte

Was ist angesagt?

組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
Shunji Umetani
 
GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)
智啓 出川
 
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS) GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
智啓 出川
 

Was ist angesagt? (20)

AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術についてAIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
 
第11回 配信講義 計算科学技術特論A(2021)
第11回 配信講義 計算科学技術特論A(2021)第11回 配信講義 計算科学技術特論A(2021)
第11回 配信講義 計算科学技術特論A(2021)
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
 
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
Veriloggen: Pythonによるハードウェアメタプログラミング(第3回 高位合成友の会 @ドワンゴ)
 
ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)
 
DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜
DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜
DNNコンパイラの歩みと最近の動向 〜TVMを中心に〜
 
GPU-FPGA協調プログラミングを実現するコンパイラの開発
GPU-FPGA協調プログラミングを実現するコンパイラの開発GPU-FPGA協調プログラミングを実現するコンパイラの開発
GPU-FPGA協調プログラミングを実現するコンパイラの開発
 
TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介TVMの次期グラフIR Relayの紹介
TVMの次期グラフIR Relayの紹介
 
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
Optuna Dashboardの紹介と設計解説 - 2022/12/10 Optuna Meetup #2
 
Rustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったかRustに触れて私のPythonはどう変わったか
Rustに触れて私のPythonはどう変わったか
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
 
GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)GPGPU Seminar (GPGPU and CUDA Fortran)
GPGPU Seminar (GPGPU and CUDA Fortran)
 
XAI (説明可能なAI) の必要性
XAI (説明可能なAI) の必要性XAI (説明可能なAI) の必要性
XAI (説明可能なAI) の必要性
 
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
CUDAのアセンブリ言語基礎のまとめ PTXとSASSの概説
 
エントリー層向けセミナー#04『はじめての最適化』
エントリー層向けセミナー#04『はじめての最適化』エントリー層向けセミナー#04『はじめての最適化』
エントリー層向けセミナー#04『はじめての最適化』
 
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS) GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
GPGPU Seminar (GPU Accelerated Libraries, 1 of 3, cuBLAS)
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 

Andere mochten auch

Andere mochten auch (15)

PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 
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...
 
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
 
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
PyCoRAMによるPythonを用いたポータブルなFPGAアクセラレータ開発 (チュートリアル@ESS2014)
 
An FPGA-based Scalable Simulation Accelerator for Tile Architectures @HEART2011
An FPGA-based Scalable Simulation Accelerator for Tile Architectures @HEART2011An FPGA-based Scalable Simulation Accelerator for Tile Architectures @HEART2011
An FPGA-based Scalable Simulation Accelerator for Tile Architectures @HEART2011
 
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
 
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
 
Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門Zynq+PyCoRAM(+Debian)入門
Zynq+PyCoRAM(+Debian)入門
 
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
 
Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討Pythonを用いた高水準ハードウェア設計環境の検討
Pythonを用いた高水準ハードウェア設計環境の検討
 
PythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミングPythonとVeriloggenを用いたRTL設計メタプログラミング
PythonとVeriloggenを用いたRTL設計メタプログラミング
 
Zynq + Vivado HLS入門
Zynq + Vivado HLS入門Zynq + Vivado HLS入門
Zynq + Vivado HLS入門
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
 
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)
 

Ähnlich wie マルチパラダイム型高水準ハードウェア設計環境の検討

第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
Ito Takahiro
 

Ähnlich wie マルチパラダイム型高水準ハードウェア設計環境の検討 (20)

FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うには
 
SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hw
 
Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)Lagopus Project (Open Source Conference)
Lagopus Project (Open Source Conference)
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
Faster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDPFaster SRv6 D-plane with XDP
Faster SRv6 D-plane with XDP
 
Bird in show_net
Bird in show_netBird in show_net
Bird in show_net
 
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
第3回ローレイヤー勉強会 : FPGAでコンピュータを作ってみた
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
 
Trema day 1
Trema day 1Trema day 1
Trema day 1
 
Open contrail days 2014 fall
Open contrail days 2014 fallOpen contrail days 2014 fall
Open contrail days 2014 fall
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 
"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越"SRv6の現状と展望" ENOG53@上越
"SRv6の現状と展望" ENOG53@上越
 
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料第11回ACRiウェビナー_東工大/坂本先生ご講演資料
第11回ACRiウェビナー_東工大/坂本先生ご講演資料
 
Lagopus Router
Lagopus RouterLagopus Router
Lagopus Router
 
SQL Server 2016 R Services + Microsoft R Server 技術資料
SQL Server 2016 R Services + Microsoft R Server 技術資料SQL Server 2016 R Services + Microsoft R Server 技術資料
SQL Server 2016 R Services + Microsoft R Server 技術資料
 
高位合成友の会@ドワンゴ,2015年12月8日
高位合成友の会@ドワンゴ,2015年12月8日高位合成友の会@ドワンゴ,2015年12月8日
高位合成友の会@ドワンゴ,2015年12月8日
 
20150715 xflow kikuta_final
20150715 xflow kikuta_final20150715 xflow kikuta_final
20150715 xflow kikuta_final
 
ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会ネットワークプログラマビリティ勉強会
ネットワークプログラマビリティ勉強会
 

Mehr von Shinya Takamaeda-Y

Mehr von Shinya Takamaeda-Y (12)

DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモDNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
DNNのモデル特化ハードウェアを生成するオープンソースコンパイラNNgenのデモ
 
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
ディープニューラルネットワーク向け拡張可能な高位合成コンパイラの開発
 
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)
 
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を用いたオンチップネットワークシミュレーションの並列化
 
Network Performance of Multifunction On-chip Router Architectures (IEICE-CPSY...
Network Performance of Multifunction On-chip Router Architectures (IEICE-CPSY...Network Performance of Multifunction On-chip Router Architectures (IEICE-CPSY...
Network Performance of Multifunction On-chip Router Architectures (IEICE-CPSY...
 

Kürzlich hochgeladen

Kürzlich hochgeladen (11)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

マルチパラダイム型高水準ハードウェア設計環境の検討