SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
2012/10/2   Utsunomiya University, Dept. of Information Systems Sci.   1




 研究室紹介(2012)
   宇都宮大学 大学院工学研究科
   情報システム科学専攻
   大川猛
2012/10/2        Utsunomiya University, Dept. of Information Systems Sci.   2




 大川研究室の研究テーマ
• Reconfigurable Computingという研究分野
         (リコンフィギャラブル:機能可変)

• 【1】機能可変なハードウェア(FPGAなど)による、
プログラム実行の変化に対応する実行時最適化方式
 • 目的:       処理性能向上、消費電力削減
             + 設計生産性向上(コスト削減)


• 【2】 FPGAを含む分散システム向け基本ソフトウェア
 • 目的:       処理性能向上、消費電力削減
             + 設計生産性向上(コスト削減)
2012/10/2             Utsunomiya University, Dept. of Information Systems Sci.   3




FPGAとは
• FPGA : Field Programmable Gate Array
• 現場(フィールド)で(機能を)プログラム可能なゲートアレイ
   • ゲートアレイとは:  トランジスタ(ゲートアレイ)を作ってある半導体
      基板に、配線層だけをオーダーメイドで作る製造手法
• フィールドでプログラム可能にする方法は?
   • 配線+スイッチをたくさん用意しておく
   • スイッチのON/OFFで、配線を(ある程度)自由につなぎかえる
   • スイッチ=トランジスタ



            mem                                  mem
2012/10/2             Utsunomiya University, Dept. of Information Systems Sci.   4




FPGAのデザインフロー
                 ソース
                 (RTL)                                          デザイン検証

                                                           論理シミュレーション
               Synthesis                                      (RTL)
               論理合成
                                                           論理シミュレーション
             Implementation                                 (ゲートレベル)
                配置配線
                                                         タイミング情報を含めた
            コンフィギュレーション                                    シミュレーション
               データ生成


  FPGAデバイスへの                                                  実デバイスでの
    ダウンロード                                                     動作検証
2012/10/2                        Utsunomiya University, Dept. of Information Systems Sci.   5




RTLの例 (Verilog-HDL)
            module bcount4 ( RSTb, clk, Q );
            output [3:0] Q;                                クロックが立ち上がる度に
            input RSTb, clk;

            always @ (posedge clk)
            begin
                    if (!RSTb)                                   ここに書かれたことをする
                             Q <= 4'h00;                         (レジスタQを書き換える)
                    else                                         →Register Transfer Level
                             Q <= Q + 4'h01;
            end

            endmodule
2012/10/2                              Utsunomiya University, Dept. of Information Systems Sci.   6




RTLからの回路合成後のネットリスト例
 module bcount4 ( clk, RSTb, Q );
 output [3:0] Q;
 input clk, RSTb;
 wire N7, N8, N9, N10, N4, N5, N6, n1, ¥add_12/carry[2] , ¥add_12/carry[3] ;
              AND2 I11 ( .A(n1), .B(RSTb), .Y(N10) );
              AND2 I6 ( .A(Q[1]), .B(Q[0]), .Y(¥add_12/carry[2] ) );
              XOR2 I7 ( .A(Q[1]), .B(Q[0]), .X(N4) );

             AND2 I4 ( .A(Q[2]), .B(¥add_12/carry[2] ), .Y(¥add_12/carry[3] ) );
             XOR2 I5 ( .A(Q[2]), .B(¥add_12/carry[2] ), .X(N5) );
             AND2 I8 ( .A(RSTb), .B(N4), .Y(N9) );
             DF ¥Q_reg[0] ( .CP(clk), .A(N10), .X(Q[0]), .Y(n1) );

             XOR2 I3 ( .A(Q[3]), .B(¥add_12/carry[3] ), .X(N6) );
             AND2 I9 ( .A(N5), .B(RSTb), .Y(N8) );
             DF ¥Q_reg[1] ( .CP(clk), .A(N9), .X(Q[1]) );

             AND2 I10 ( .A(N6), .B(RSTb), .Y(N7) );
             DF ¥Q_reg[2] ( .CP(clk), .A(N8), .X(Q[2]) );

             DF ¥Q_reg[3] ( .CP(clk), .A(N7), .X(Q[3]) );
 endmodule
2012/10/2      Utsunomiya University, Dept. of Information Systems Sci.   7




機能可変なハードウェア(FPGA)の応用
• FPGAは最大で約200万の基本素子が搭載
   • 超並列で計算するシステムを設計することが可能

• 例)
   • 画像処理・画像認識・音声処理
   • 流体シミュレーション・電磁界シミュレーション

【1】プログラム実行の変化に対応する実行時最適化方式
• 複雑なアプリ → 入力データにより処理の負荷が大幅に変動する
  • 通常の固定的なハードウェアは、画一的処理しかしない。
  • 機能可変なハードウェアを活用し、ハードウェアを必要に応じてプログラム
• 機能可変なシステムを如何に設計するか(プログラミングモデル)
  • RTLでの設計では難しい → 高位言語合成、設計言語の適材適所組合せなど
2012/10/2                       Utsunomiya University, Dept. of Information Systems Sci.   8


問題1:FPGAに作った回路を
どうやってソフトウェアから動かす?
 • ALTERA SOPC Builder
 • Xilinx EDK (Embedded Development Kit)
 →FPGAベンダーからツールが販売されています

 – Xilinx EDKの概要
   – プラットフォーム・ベースの回路設計ツール
        • IP部品をバスに接続することで、FPGA回路を設計可能
    – 組込みソフトウェア開発ツール
      • FPGA上のARMハードコアもしくはMicroBlazeソフトコアを上記プラット
          フォームに接続
        • ソフトウェア開発(C/C++)Eclipse環境
        • JTAG経由でのデバッグ(ソースコードレベル)
        • OS
            – XMK(Xilinx Micro Kernel)
            – 商用Linux (MontaVista, WindRiver, BlueCat…)
            – 商用RTOS(VxWorks)
2012/10/2               Utsunomiya University, Dept. of Information Systems Sci.   9


問題2:FPGAに作ったソフトウェアを
どうやって外部のシステム(PC等)から
動かす? FPGA ソフトウェア
           C/C++
                 PC
                     ソフトウェア
                    Java・C#など

                   CPU                                            CPU


                  自分の
                  作った
                   回路



【2】FPGAを含む分散システム向け基本ソフトウェア
      FPGAとPCを接続する為のソフトウェア開発
         ◦   FPGA上のソフトウェアはC/C++で記述、何らかのOS・ミドルウェアを使用
      FPGA上の回路やソフトウェアをオブジェクトとして扱うことで
        開発生産性を向上(オブジェクト指向の設計が可能)
            ORB(オブジェクト要求ブローカ)の考え方
2012/10/2        Utsunomiya University, Dept. of Information Systems Sci.   10




教育方針
• 学部の卒業生には
  • 【防御力】企業に勤めた時に周囲の環境に負けない力
       • 自分で成長するための力、這い上がれる力                          (メタスキル)
   • 【防御力】情報技術者としての常識
     • プログラミング・情報整理術・情報検索術
   • 【攻撃力】就職活動でアピールできる力
     • 自分を売り込む能力 (プレゼン能力)
• 大学院の卒業生には
  • 上記の力にくわえて・・・
  • 【防御力】セルフマネジメント力
       • 計画的に物事を進める力、プロジェクトを失敗しないスキル
   • 【攻撃力】情報技術者としての強み
     • 世界一・世界初の成果
2012/10/2   Utsunomiya University, Dept. of Information Systems Sci.   11




大川研究室のまとめ
• つまり研究テーマは、
  • 【1】機能可変なハードウェア(FPGAなど)による、
    プログラム実行の変化に対応する実行時最適化方式
  • 【2】 FPGAを含む分散システム向け基本ソフトウェア
• 応用は、
  • Android(スマートフォン)・組込みシステム・ロボッ
     ト制御
• 情報工学と半導体・電子工学の境界
   = ソフトウェアとハードウェアの境界
    Reconfigurable Computing
• 興味を持ったら説明会にどうぞ

Weitere ähnliche Inhalte

Was ist angesagt?

高位合成でDeep learning
高位合成でDeep learning高位合成でDeep learning
高位合成でDeep learningMori Labo.
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)RCCSRENKEI
 
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)智啓 出川
 
なにわTech20170218(tpu) tfug
なにわTech20170218(tpu) tfugなにわTech20170218(tpu) tfug
なにわTech20170218(tpu) tfugNatsutani Minoru
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Seiya Tokui
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようShinya Takamaeda-Y
 
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化RCCSRENKEI
 
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE) GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE) 智啓 出川
 
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算智啓 出川
 
GRU-Prednetを実装してみた(途中経過)
GRU-Prednetを実装してみた(途中経過)GRU-Prednetを実装してみた(途中経過)
GRU-Prednetを実装してみた(途中経過)Taichi Iki
 
Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015Ryosuke Okuta
 
GPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装についてGPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装についてYuya Unno
 
ソフトウェア志向の組込みシステム協調設計環境
ソフトウェア志向の組込みシステム協調設計環境ソフトウェア志向の組込みシステム協調設計環境
ソフトウェア志向の組込みシステム協調設計環境Hideki Takase
 
200730material fujita
200730material fujita200730material fujita
200730material fujitaRCCSRENKEI
 
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」Naonori Nagano
 
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)Shinya Takamaeda-Y
 
ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装Ryosuke Okuta
 

Was ist angesagt? (20)

高位合成でDeep learning
高位合成でDeep learning高位合成でDeep learning
高位合成でDeep learning
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)
 
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
 
CuPy解説
CuPy解説CuPy解説
CuPy解説
 
なにわTech20170218(tpu) tfug
なにわTech20170218(tpu) tfugなにわTech20170218(tpu) tfug
なにわTech20170218(tpu) tfug
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用
 
LT@Chainer Meetup
LT@Chainer MeetupLT@Chainer Meetup
LT@Chainer Meetup
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
 
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
 
More modern gpu
More modern gpuMore modern gpu
More modern gpu
 
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE) GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
 
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算
 
GRU-Prednetを実装してみた(途中経過)
GRU-Prednetを実装してみた(途中経過)GRU-Prednetを実装してみた(途中経過)
GRU-Prednetを実装してみた(途中経過)
 
Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015Chainerチュートリアル -v1.5向け- ViEW2015
Chainerチュートリアル -v1.5向け- ViEW2015
 
GPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装についてGPU上でのNLP向け深層学習の実装について
GPU上でのNLP向け深層学習の実装について
 
ソフトウェア志向の組込みシステム協調設計環境
ソフトウェア志向の組込みシステム協調設計環境ソフトウェア志向の組込みシステム協調設計環境
ソフトウェア志向の組込みシステム協調設計環境
 
200730material fujita
200730material fujita200730material fujita
200730material fujita
 
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
 
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
 
ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装ディープラーニングフレームワーク とChainerの実装
ディープラーニングフレームワーク とChainerの実装
 

Ähnlich wie 2012研究室紹介(大川)

PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsKohei KaiGai
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会Hitoshi Sato
 
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)Ryuuta Tsunashima
 
Uart受信設計2013
Uart受信設計2013Uart受信設計2013
Uart受信設計2013Kiyoshi Ogawa
 
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強Kiyoshi Ogawa
 
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」PC Cluster Consortium
 
ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介Takahiro Katagiri
 
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml ssuser3a4b8c
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはHideki Takase
 
GPU-FPGA協調プログラミングを実現するコンパイラの開発
GPU-FPGA協調プログラミングを実現するコンパイラの開発GPU-FPGA協調プログラミングを実現するコンパイラの開発
GPU-FPGA協調プログラミングを実現するコンパイラの開発Ryuuta Tsunashima
 
Starc verilog hdl2013d
Starc verilog hdl2013dStarc verilog hdl2013d
Starc verilog hdl2013dKiyoshi Ogawa
 
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用de:code 2017
 
20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstromKohei KaiGai
 
160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大openrtm
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータShinya Takamaeda-Y
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門ryos36
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄Yukio Saito
 

Ähnlich wie 2012研究室紹介(大川) (20)

PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database AnalyticsPL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
PL/CUDA - Fusion of HPC Grade Power with In-Database Analytics
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
GPU-FPGA 協調計算を記述するためのプログラミング環境に関する研究(HPC169 No.10)
 
Uart受信設計2013
Uart受信設計2013Uart受信設計2013
Uart受信設計2013
 
Myoshimi extreme
Myoshimi extremeMyoshimi extreme
Myoshimi extreme
 
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
STARC RTL設計スタイルガイドによるVerilog HDL並列記述の補強
 
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」
PCCC21:東京大学情報基盤センター 「『計算・データ・学習』融合によるスーパーコンピューティングの革新、そして東大センターのこれから」
 
ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介ソフトウェア自動チューニング研究紹介
ソフトウェア自動チューニング研究紹介
 
C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml C base design methodology with s dx and xilinx ml
C base design methodology with s dx and xilinx ml
 
PostgreSQL 12の話
PostgreSQL 12の話PostgreSQL 12の話
PostgreSQL 12の話
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うには
 
GPU-FPGA協調プログラミングを実現するコンパイラの開発
GPU-FPGA協調プログラミングを実現するコンパイラの開発GPU-FPGA協調プログラミングを実現するコンパイラの開発
GPU-FPGA協調プログラミングを実現するコンパイラの開発
 
Starc verilog hdl2013d
Starc verilog hdl2013dStarc verilog hdl2013d
Starc verilog hdl2013d
 
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
[AI08] 深層学習フレームワーク Chainer × Microsoft で広がる応用
 
20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom20171220_hbstudy80_pgstrom
20171220_hbstudy80_pgstrom
 
160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大160705-03 RTミドルウエア講習会・名城大
160705-03 RTミドルウエア講習会・名城大
 
Cmc cmd slim
Cmc cmd slimCmc cmd slim
Cmc cmd slim
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
 

Kürzlich hochgeladen

ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptyuitoakatsukijp
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ssusere0a682
 

Kürzlich hochgeladen (6)

ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 

2012研究室紹介(大川)

  • 1. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 1 研究室紹介(2012) 宇都宮大学 大学院工学研究科 情報システム科学専攻 大川猛
  • 2. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 2 大川研究室の研究テーマ • Reconfigurable Computingという研究分野 (リコンフィギャラブル:機能可変) • 【1】機能可変なハードウェア(FPGAなど)による、 プログラム実行の変化に対応する実行時最適化方式 • 目的: 処理性能向上、消費電力削減 + 設計生産性向上(コスト削減) • 【2】 FPGAを含む分散システム向け基本ソフトウェア • 目的: 処理性能向上、消費電力削減 + 設計生産性向上(コスト削減)
  • 3. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 3 FPGAとは • FPGA : Field Programmable Gate Array • 現場(フィールド)で(機能を)プログラム可能なゲートアレイ • ゲートアレイとは: トランジスタ(ゲートアレイ)を作ってある半導体 基板に、配線層だけをオーダーメイドで作る製造手法 • フィールドでプログラム可能にする方法は? • 配線+スイッチをたくさん用意しておく • スイッチのON/OFFで、配線を(ある程度)自由につなぎかえる • スイッチ=トランジスタ mem mem
  • 4. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 4 FPGAのデザインフロー ソース (RTL) デザイン検証 論理シミュレーション Synthesis (RTL) 論理合成 論理シミュレーション Implementation (ゲートレベル) 配置配線 タイミング情報を含めた コンフィギュレーション シミュレーション データ生成 FPGAデバイスへの 実デバイスでの ダウンロード 動作検証
  • 5. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 5 RTLの例 (Verilog-HDL) module bcount4 ( RSTb, clk, Q ); output [3:0] Q; クロックが立ち上がる度に input RSTb, clk; always @ (posedge clk) begin if (!RSTb) ここに書かれたことをする Q <= 4'h00; (レジスタQを書き換える) else →Register Transfer Level Q <= Q + 4'h01; end endmodule
  • 6. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 6 RTLからの回路合成後のネットリスト例 module bcount4 ( clk, RSTb, Q ); output [3:0] Q; input clk, RSTb; wire N7, N8, N9, N10, N4, N5, N6, n1, ¥add_12/carry[2] , ¥add_12/carry[3] ; AND2 I11 ( .A(n1), .B(RSTb), .Y(N10) ); AND2 I6 ( .A(Q[1]), .B(Q[0]), .Y(¥add_12/carry[2] ) ); XOR2 I7 ( .A(Q[1]), .B(Q[0]), .X(N4) ); AND2 I4 ( .A(Q[2]), .B(¥add_12/carry[2] ), .Y(¥add_12/carry[3] ) ); XOR2 I5 ( .A(Q[2]), .B(¥add_12/carry[2] ), .X(N5) ); AND2 I8 ( .A(RSTb), .B(N4), .Y(N9) ); DF ¥Q_reg[0] ( .CP(clk), .A(N10), .X(Q[0]), .Y(n1) ); XOR2 I3 ( .A(Q[3]), .B(¥add_12/carry[3] ), .X(N6) ); AND2 I9 ( .A(N5), .B(RSTb), .Y(N8) ); DF ¥Q_reg[1] ( .CP(clk), .A(N9), .X(Q[1]) ); AND2 I10 ( .A(N6), .B(RSTb), .Y(N7) ); DF ¥Q_reg[2] ( .CP(clk), .A(N8), .X(Q[2]) ); DF ¥Q_reg[3] ( .CP(clk), .A(N7), .X(Q[3]) ); endmodule
  • 7. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 7 機能可変なハードウェア(FPGA)の応用 • FPGAは最大で約200万の基本素子が搭載 • 超並列で計算するシステムを設計することが可能 • 例) • 画像処理・画像認識・音声処理 • 流体シミュレーション・電磁界シミュレーション 【1】プログラム実行の変化に対応する実行時最適化方式 • 複雑なアプリ → 入力データにより処理の負荷が大幅に変動する • 通常の固定的なハードウェアは、画一的処理しかしない。 • 機能可変なハードウェアを活用し、ハードウェアを必要に応じてプログラム • 機能可変なシステムを如何に設計するか(プログラミングモデル) • RTLでの設計では難しい → 高位言語合成、設計言語の適材適所組合せなど
  • 8. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 8 問題1:FPGAに作った回路を どうやってソフトウェアから動かす? • ALTERA SOPC Builder • Xilinx EDK (Embedded Development Kit) →FPGAベンダーからツールが販売されています – Xilinx EDKの概要 – プラットフォーム・ベースの回路設計ツール • IP部品をバスに接続することで、FPGA回路を設計可能 – 組込みソフトウェア開発ツール • FPGA上のARMハードコアもしくはMicroBlazeソフトコアを上記プラット フォームに接続 • ソフトウェア開発(C/C++)Eclipse環境 • JTAG経由でのデバッグ(ソースコードレベル) • OS – XMK(Xilinx Micro Kernel) – 商用Linux (MontaVista, WindRiver, BlueCat…) – 商用RTOS(VxWorks)
  • 9. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 9 問題2:FPGAに作ったソフトウェアを どうやって外部のシステム(PC等)から 動かす? FPGA ソフトウェア C/C++ PC ソフトウェア Java・C#など CPU CPU 自分の 作った 回路 【2】FPGAを含む分散システム向け基本ソフトウェア  FPGAとPCを接続する為のソフトウェア開発 ◦ FPGA上のソフトウェアはC/C++で記述、何らかのOS・ミドルウェアを使用  FPGA上の回路やソフトウェアをオブジェクトとして扱うことで 開発生産性を向上(オブジェクト指向の設計が可能)  ORB(オブジェクト要求ブローカ)の考え方
  • 10. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 10 教育方針 • 学部の卒業生には • 【防御力】企業に勤めた時に周囲の環境に負けない力 • 自分で成長するための力、這い上がれる力 (メタスキル) • 【防御力】情報技術者としての常識 • プログラミング・情報整理術・情報検索術 • 【攻撃力】就職活動でアピールできる力 • 自分を売り込む能力 (プレゼン能力) • 大学院の卒業生には • 上記の力にくわえて・・・ • 【防御力】セルフマネジメント力 • 計画的に物事を進める力、プロジェクトを失敗しないスキル • 【攻撃力】情報技術者としての強み • 世界一・世界初の成果
  • 11. 2012/10/2 Utsunomiya University, Dept. of Information Systems Sci. 11 大川研究室のまとめ • つまり研究テーマは、 • 【1】機能可変なハードウェア(FPGAなど)による、 プログラム実行の変化に対応する実行時最適化方式 • 【2】 FPGAを含む分散システム向け基本ソフトウェア • 応用は、 • Android(スマートフォン)・組込みシステム・ロボッ ト制御 • 情報工学と半導体・電子工学の境界 = ソフトウェアとハードウェアの境界 Reconfigurable Computing • 興味を持ったら説明会にどうぞ