Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
VSP専用プロセッサ設計と実行エンジンIyokanについて
Search
VTb
February 08, 2020
Technology
0
330
VSP専用プロセッサ設計と実行エンジンIyokanについて
VTb
February 08, 2020
Tweet
Share
More Decks by VTb
See All by VTb
MR1を支えた Ethernet&ROS システム
pibvt
3
1.3k
3日間で作る フルスクラッチHTTPサーバー on STM32F767 Nucleo
pibvt
14
5.9k
Hello_UEFI_で学ぶC言語ポインタ.pdf
pibvt
0
180
64bit UEFIからxv6を起動してみた
pibvt
0
520
Other Decks in Technology
See All in Technology
[PR] はじめてのデジタルアイデンティティという本を書きました
ritou
0
770
AWS re:Invent2025最新動向まとめ(NRIグループre:Cap 2025)
gamogamo
0
150
RALGO : AIを組織に組み込む方法 -アルゴリズム中心組織設計- #RSGT2026 / RALGO: How to Integrate AI into an Organization – Algorithm-Centric Organizational Design
kyonmm
PRO
3
750
自己管理型チームと個人のセルフマネジメント 〜モチベーション編〜
kakehashi
PRO
5
2k
旬のブリと旬の技術で楽しむ AI エージェント設計開発レシピ
chack411
1
110
ルネサンス開発者を育てる 1on1支援AIエージェント
yusukeshimizu
0
130
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
人工知能のための哲学塾 ニューロフィロソフィ篇 第零夜 「ニューロフィロソフィとは何か?」
miyayou
0
360
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
Digitization部 紹介資料
sansan33
PRO
1
6.4k
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
600
CQRS/ESになぜアクターモデルが必要なのか
j5ik2o
0
630
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.3k
GraphQLとの向き合い方2022年版
quramy
50
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1k
Code Review Best Practice
trishagee
74
19k
Everyday Curiosity
cassininazir
0
120
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
65
35k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Agile that works and the tools we love
rasmusluckow
331
21k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
400
Technical Leadership for Architectural Decision Making
baasie
0
200
Embracing the Ebb and Flow
colly
88
4.9k
Prompt Engineering for Job Search
mfonobong
0
140
Transcript
VSP専用プロセッサ設計 と実行エンジンについて 松本 直樹(@PiBVT) 2020/02/08 カーネル/VM探検隊@関西 10回目
Agenda • 自己紹介 • VSP専用プロセッサ設計について • 並列実行エンジン Iyokan について
自己紹介 松本 直樹 (@PiBVT) 京都大学工学部情報学科3回生 未踏プロジェクトでの担当 • VSP専用プロセッサ設計 • 実行エンジンの基本設計,試作実装
VSP専用プロセッサ設計について VSPはプロセッサ設計が必要 暗号処理はゲートレベルで行われる -> プロセッサ設計は平文と同様のものが利用できる FHEゲートの演算のコスト -> 出来る限りゲート数が少ない設計が必要
VSP専用プロセッサ設計について 出来る限り少ないゲート数,省ROM,RAM -> 専用のISAとそのプロセッサ設計を開発することに ※ROM,RAMはそれぞれ512byteでも20,000ゲート以上あるた め、全体のゲート規模にかなり影響がある
時系列でみるVSP専用プロセッサ設計 2019年6月 プロジェクト開始 7月 rv32k-garnet 開発中止 8月 rv16k-amethyst(RV16Kv2準拠 マルチサイクル)完成 9月 rv16k-aquamarine(RV16Kv2準拠
5段パイプライン)完成 10月 cahp-diamond(CAHPv3準拠 5段パイプライン)完成 2020年1月 cahp-emerald(CAHPv3準拠 スーパースカラ)完成
cahp-emeraldについて • VSP専用プロセッサ第5世代設計 • CAHPv3(16bit/24bit混合命令長) 準拠 • 5段パイプライン • 最大2命令同時発行インオーダースーパースカラ
• 約8,000ゲート(cahp-diamond が約4,000 ゲート) • IPC 1.1(cahp-diamondが0.78) • このままだと不採用の危機(ゲート規模的に)
cahp-emeraldのアーキテクチャ 5段パイプライン・インオーダースーパースカラ
混合命令長のつらさ • 16bit/24bitで偶数倍長の関係にないため、アライメントをまたぐ命 令アクセスが起こる • ジャンプでの命令フェッチで余計なストールが発生する • ゲート規模が膨らむ
• 32bitブロックでのROMアクセスを行ったとしてもブロック間をまたぐ 命令が存在する -> ブロック間をまたぐ命令アクセスを実現する機構が必要 混合命令長のつらさ その1
一度読み込んだブロックをキャッシュに保持し、ブロックをまたい だアクセスを実現 -> ジャンプが起きると....?
並列実行エンジン Iyokan について • 回路情報を元にFHEゲートを評価する並列実行エンジン • TFHEpp(CPU)/cuFHE(GPU)を暗号処理のバックエンドとして利 用可能 • verilogファイルからの回路合成は外部ツール(yosys)を利用
ゲートの評価順には依存関係がある • ネットリスト上のゲートは上流から下流へと順に評価する
ネットリストをDAG(有向非循環グラフ)で表現 1. 上流ノードを持たないノードを評価待ちとする 2. 評価待ちのノードを評価 3. 辺経由で下流のノードに評価済みであることを通知 4. 入力の上位ノードすべてが評価済みならノードを評価待ちとする 5.
評価待ちノードが存在する場合、2へ戻る
CPU/GPU対応 • CPU対応はライブラリのTFHEppで簡単に実現 -> しかし、AVX2等を使っても遅い -> V100などを用いたGPGPUで高速化した例がある • GPU対応で、ホスト,デバイス間のメモリ一貫性は? ->
毎回転送? -> すべてGPUオンメモリ?
CPU/GPU対応 • ゲートの出力値を保持する変数は高々数100KB • 一度転送すれば暗号処理自体は10ms程度処理にかかる • H2D,D2Hのメモリ転送の影響は限りなく小さい • かなりのCPUバウンドな処理のため、MPIでもスケールする...? •
CPUとGPUの両者を用いたスケジューラを開発中 毎回転送することにした