Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

RISC-V の現況と Esperanto Technologies のアプローチ

773 views

Published on

2019/2/2 の FPGA Extreme で話した RISC-V に関する概説。当日は AI 専用設計ハードウェア関連のテーマが多かったので、それと対照しやすい部分を重点的に取り上げた。

Published in: Technology
  • Be the first to comment

RISC-V の現況と Esperanto Technologies のアプローチ

  1. 1. RISC-V の現況と Esperanto Technologies のアプローチ Yutaka Yasuda, Kyoto Sangyo University
  2. 2. まず RISC-V のこと
  3. 3. RISC-V : オープンな ISA を求めて • Berkeley の研究から • ISA - Instruction Set Architecture • x86, ARM などは独占的(プロプライエタリ)なビジネスモデル • オープン・利⽤無料の ISA (32bit, 64bit, 128bit) • チップやソフトウェアを誰もが⾃由に設計・製作・販売可能 • SoCやチップは MIT, BSD lisence で提供される事が多い(GPL ではない) • Software もMIT等が多いがベースソフトウェアのライセンスに依存(QEMUはGPL) https://riscv.org/risc-v-cores/ 128bit は事実上予約のみ状態の慎重さ =誤った予測で将来の負債を作らない https://riscv.org/software-status/
  4. 4. RISC-V ISA (超)概要 • Base Integer ISA 整数レジスタ32本(0番はゼロ固定) load, store, and/or/xor, add, sub, compare, branch, jump, nop 程度 • And “Optional Instruction-set Extensions” Standard Extension:⼀般的で互いに衝突しないように設計 Non-Standard Extension:特化+他 Extension との衝突を許容 Embedded向け16本のRV32Eもある (Standard Extension との conflict も許容) (浮動⼩数点演算どころか掛け算・割り算もここ)
  5. 5. Standard Extensions Functionality Version M Integer Multiplication and Division 2.0 A Atomic Instructions 2.0 F Single-Precision Floating-Point 2.0 D Double-Precision Floating-Point 2.0 Q Quad-Precision Floating-Point 2.0 L Decimal Floating-Point 0.0 C Compressed Instructions 2.0 B Bit Manipulation 2.0 J Dynamically Translated Languages 2.0 T Transactional Memory 2.0 P Packed-SIMD Instructions 0.1 V Vector Operations 0.2 N User-Level Interrupts 1.1 source: The RISC-V Instruction Set Manual, Volume I: User-Level ISA Document Version 2.2, May 7, 2017 0.0 あたりはまだ内容空⽩ まだまだこれから、的な・・・ Base Integer ISA (I) と MAFD を合わせ た範囲が、現在のRISC-V tool-chain(コ ンパイラ等)のデフォルト実装ターゲット
 IMAFD で合わせてGとも呼ぶ ほぉ。トランザクショナルメモリが・・・ F16, F32, F64, F128 どこまで対応するかは実装次第 (Q=F128 はデフォルト実装ターゲットでない)
  6. 6. DSA のためです! Domain Specific Architecture Non-Standard Extension は何のため?
  7. 7. The future of computing: a conversation with John Hennessy (Google I/O '18)
 https://www.youtube.com/watch?v=Azt8Nc-mtKM
  8. 8. (いわゆる post Mooreʼs law のおはなしです)
  9. 9. これこれ
  10. 10. そこで TPU なわけですよ
  11. 11. でも TPU (=DSA part) だけじゃ動かないんだな “グーグルが外販するAI向け半導体「Edge TPU」の全貌:Google Cloud Next ʼ18” 笠原 ⼀輝, Business Insider Japan, Jul. 26, 2018, “グーグルによると、Edge TPUは2W/4TOPS の性能を備えている。オランダの半導体企業、 NXP社のクアッドコア Arm CPU を内蔵した SoCなどと、「SOM」(System On Module)と 呼ばれるモジュールに実装されて提供される。”
  12. 12. ARM core を die 上に同居させるか否か。それが問題だ。 • CPU と DSA パートとの結合度合いによるだろう もし密な結合を求めてダイ上に同居させるとかなり⾼額 • しかし独⾃コントローラを⼊れると toolchain の整備、ソフトエコシステム⼤変 • RISC-V の価値が⾼いのはこのような場⾯ではないか Edge TPU に RISC-V が良いとは⾔ってないよ。密な結合が要求されるような場合、RISC-V 良いよ、と。
  13. 13. デザイン⾃由度は⾼い、と。 でも作るのって⼤変じゃん?
  14. 14. SiFiveの挑戦 https://www.sifive.com/
  15. 15. “WebでSoC設計” https://www.sifive.com/
  16. 16. https://www.sifive.com/
  17. 17. https://www.sifive.com/
  18. 18. まだ preview status 押せたらどのくらい時間かかるのかなあ・・・ https://www.sifive.com/
  19. 19. ここはまあわかる ここまでもわかる これすごくない? 量産まで前払い不要 https://www.sifive.com/
  20. 20. SiFive ⾃⾝による実装 • FE310 - Freedom Everywhere TSMC 180nm, 320MHz+, RV32I+ (Fなし) Arduino/Raspberry Pi 的な I/O つき HiFive1 - $59 with Arduino like board • FU540 - Freedom Unleashed TSMC 28nm, 1.5GHz+, RV64IMAC x1 + RV64GC(IMAFD+C)x4 MMUありで Linux が動作する HiFive Unleashed - $999 with 8GB DDR4, 1GbE board (no HDMI) • Open Source RTL - https://github.com/sifive/freedom https://www.sifive.com/
  21. 21. 他にもチップはある:WD がプロセッサを発表 • RISC-V SweRV Core (32bit, 9 stages pipeline, 28nm, 1.8GHz) を発表 RISC-V によるシステムのキャッシュコヒーレンシを解決するネットワークプ ロトコル「OmniXtend」もオープンソースで公開
 http://monoist.atmarkit.co.jp/mn/articles/1812/07/news056.html • 「今後のデータ処理に対して沸きあがってくるさまざまな課題に対処するのに、 RISC-Vが理想的なアーキテクチャになると考えている」
 https://news.mynavi.jp/article/20180622-652023/ • かなり志が⾼い(ディスク内コントローラのライセンス料削減、とかを越えてる)
  22. 22. NXP も作ってたりして • VEGABoard として配っていた(今も⽶国内無料?) • RV32IMC の超低消費電⼒プロセッサ • なんと Quad Core、でも 48MHz とか • Cortex-M4F for App + RISC-V (mgmt?)
 + Cortex-M0+ for Radio +RISC-V (mgmt?) https://open-isa.org/
  23. 23. Dec. 2018, RISC-V Summit, Santa Clara での状況報告 • “中国は現在、数百種類のRISC-V SoCや数⼗種類のコアの開発を進めているようだ” • “Microsemi は 5 core complex を発表。同社のPolarFire FPGAに組み込む予定” • SiFiveがNVIDIAのDLA(Deep Learning Accelerator)をベースとする組み込み推 論チップと、RISC-Vベクトル拡張・HBM2・56GbpsのSeresを使⽤するトレーニン グチップを発表 • “Googleは、RISC-VチップのZephyr OSで動作する組み込みシステムに向けたソフ トウェア「TensorFlow Lite」を発表” • “韓国の新興企業Faduは、7nmプロセスを適⽤した、64ビットRISC-Vコアベースの SSDコントローラーを発表する” http://eetimes.jp/ee/articles/1812/10/news066.html から抜粋
  24. 24. それ以外の動き • nVIDIAがRISC-Vを内部コントローラに使っていくと発表(2017.5) • ARM が Cortex-M の IP を Xilinx 向けに無償提供 (2018.10) • MIPS が 32/64bit ISA を無償提供 (2018.12) • Raspberry Pi Foundation が RISC-V Foundation に join (!) (2019.1) だけれど、とりあえず Publickey 新野さん⽈く
 “まだRISC-V版のRaspberry Piを期待するのは少し時期が早いようです” 他にも ・RISC-V FPGA で並列処理の話 - https://qiita.com/zacky1972/items/05a1f4b340721605bfed ・TensorFlow LiteでのRISC-V向けビルド試⾏(1. riscv32-gccを使ったビルド試⾏→失敗)
   - http://msyksphinz.hatenablog.com/entry/2018/12/01/040000
  25. 25. さて
  26. 26. Esperanto Technologies • 2014, founded by David Ditzel 1980 “The Case for Reduced Instruction Set Computer”,
 David Patterson の co-author Transmeta 覚えてる? • “building the highest TeraFLOPS per Watt Machine Learning computing system” • Open Standard ISA + DSE - Domain Specific Engine なアプローチをとる • 実体は RISC-V による Heterogeneous computing TSMC 7nm, 2GHz (⼀つあるいは)少数のパワフルなコアと、⼤量の⼩形 Floating Point ⽤コアの組み合わせ 2018 Oct. RISC-V Day Tokyo での David Ditzel の講演から
  27. 27. Maxion(s) + Minions • Maxion - RISC-V 最⾼のシングルスレッド性能 64K L1, 4M L2, deep pipelines, Out of Order, branch prediction, etc. wide DRAM interface, Network on die 配置配線(フロアプラン)の画像などいろいろ情報が出てる • Minion - エネルギー効率重視で 4096 コア(!)を積み込む In Order, Vector extension of Floating, Tensor instruction F16, F32, F64, F128 (Quad は RISC-V の実装ターゲットとしては⾮デフォルト) あまり情報なし(こちらの実装はまだまだ?) • “All plans subject to change – this is not a product announcement” ステキ(おい) 2018 Oct. RISC-V Day Tokyo での David Ditzel の講演から
  28. 28. 汎⽤プロセッサによる AI アプローチ • “Other companies are proposing special purpose hardware for ML using proprietary instruction sets.” • RISC-V なら、、、 ソフトウェアによる leveraging が期待できる 必要な命令セット拡張ができる
 (SIMDエンジン - “V” Vector ISA WG の Co-Chair が Esperanto の⼈) ハードウェア・アクセラレータを追加できる • “General purpose cores are more desirable (望ましい) than special purpose cores when minimal performance difference” 2018 Oct. RISC-V Day Tokyo での David Ditzel の講演から
  29. 29. 世界はソフトウェアで出来てるんだぜ Software Toolchain!!!!
  30. 30. source: SiFive presentation at RISC-V Workshop in Barselona, 2018 May https://content.riscv.org/wp-content/uploads/2018/05/09.25-09.55-tate-of-RISC-V-Software-RISC-V-Workshop-at-Barcelona-May-2018-1.pdf
  31. 31. Software Status of RISC-V • Linux Kernel - 4.15 Merged • Zephyr RTOS - Upstreaming status done • GCC - Upstream as of 7.1 release • glibc - Upstream, RISC-V support available starting in 2.27 • binutils - Upstream, RISC-V support available starting in 2.28 • LLVM - MC changes are upstream, assembler and initial codegen patches submitted • GDB - Bare metal support committed upstream 6 March 2018, was in 8.2 release. • QEMU - upstream since v2.12, Fedora is able to run on QEMU! • Imperas Multi Processor Debugger - 商⽤だ! • Go - bootstrapped and passes tests, still missing cgo-related functionality https://riscv.org/software-status/ etc., etc. 絶賛対応進⾏中・・・という雰囲気
  32. 32. この空気感、覚えてるよ僕。
  33. 33. キミは 1994-9 頃のあの Linux を覚えているか? • 1993 カーネル開発者100⼈超え・Slackware ⽣まれる • 1994 kernel 1.0 released. RedHat, SuSE 現る • 1995 Apache web server が登場 - Linux を「使う」⽬的が⽣まれた • 1996 kernel 2.0 released. • このあたりで LAMP stack と⾔われ始める • 2000 Oracle 8 for Linux 登場 • 2002 Kansai OpenSource:毎度「オープンvsプロプラ」で激論の嵐 • 2008 Android T-mobile G1 発売 RISC-V は今このへん? Linuxの何倍速で進む?
  34. 34. 漠然とした私の印象・気分 • 2018/3 の訪問 “最初の半年給料なし。それからでも半分 くらい。” • 2018/10 の RISC-V Day Tokyo いろんな⼈が来てた • 懐かしい熱量を感じる 爆発前夜の空気感
  35. 35. まとめ:汎⽤プロセッサによる AI エンジンというアプローチ • 「専⽤プロセッサとの性能差が⼩さいなら汎⽤の⽅が良いよね」 ソフトウェア(ツールチェイン)のエコシステムが期待できる だって専⽤プロセッサ良いけど処理系・設計ツール・デバッガとかどうすんのよ? • DSEパートは当然⾃前で作るとして でもデータハンドリング⽤の汎⽤CPU要るぢゃん シリコンに載せると ARM は⾼い → オープンな設計欲しい • このアプローチが「オープン」な ISA であることは必然なのである • とは⾔っても EDA tool ライセンス⾼いし、まだまだ壁はある(どのアプローチにもあるけどね) その意味で Google さんとか凄いよね(ちょっと真似できない) そこへ来てこの 爆発前夜感! ごもっとも てことを今⽇は伝えたかったのです
  36. 36. あとは脱線
  37. 37. Me & David Ditzel 2018. Oct., RISC-V Day Tokyo2018 Mar. visiting Esperanto 2004 Jan. visiting Transmeta
 (see; Software Design, 2004.05)
  38. 38. Chisel - Hardware Description Language • Floor plan に配置⾃動化が・・・ • Chisel Scala ベースの DSL (ハードウェア記述⾔語) RISC-V コアなどはこれで書いて GitHub へ
 - Very Open Source! RISC-V Day Tokyo 2018, 
 Polychronis Xekalakis⽒のスライドから “RISC-V コミュニティで使われる代替HDL Chisel”,
 中澤慧, FPGAマガジン, No.19, 2017.10 彼らは Hardware Construction Language と表現

×