FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

QEMUでRISC-V Linuxのブート環境を構築する

RISC-Vアーキテクチャ向けのLinuxカーネルをQEMU上で動作させる環境を構築する。 この環境では、Dockerを使用してビルド環境を統一し、BusyBoxベースのルートファイルシステムとLinuxカーネル、OpenSBI、QEMUを組み合わせてRISC-V Linuxのブート環境を構築する。

この環境では以下のコンポーネントをビルド・実行する:

  • RISC-V GNU Toolchain: RISC-V向けのクロスコンパイラ
  • BusyBox: 軽量なルートファイルシステム
  • Linux Kernel (v6.9): RISC-V向けLinuxカーネル
  • OpenSBI (v1.6): RISC-V向けのファームウェア
  • QEMU (v9.2.4 / v10.1.0): エミュレータ

Dockerfileによるビルド環境の構築

まず、Dockerfileを使用してビルド環境を構築する。 このDockerfileは、Ubuntu 24.04ベースのイメージに必要なビルドツールとRISC-Vツールチェーンをインストールし、各コンポーネントを順次ビルドしていく。

必要なパッケージのインストール

FROM ubuntu:24.04

RUN apt-get update && apt-get install -y \
    git \
    make \
    autoconf \
    automake \
    libtool \
    build-essential \
    device-tree-compiler \
    cpio \
    libssl-dev \
    wget \
    bc \
    flex \
    bison \
    python3 \
    curl \
    autotools-dev \
    python3-pip \
    python3-tomli \
    libmpc-dev \
    libmpfr-dev \
    libgmp-dev \
    gawk \
    texinfo \
    gperf  \
    patchutils \
    bc \
    zlib1g-dev \
    libexpat-dev \
    ninja-build \
    cmake \
    libglib2.0-dev \
    libslirp-dev \
    sudo \
    && apt-get clean

RISC-Vツールチェーンのセットアップ

環境変数を設定し、RISC-Vツールチェーンをダウンロードする:

ENV RISCV=/opt/riscv
ENV PATH=$RISCV/bin:$PATH
ENV LD_LIBRARY_PATH=$RISCV/lib

RUN cd $RISCV/../ && \
    curl -L https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2025.05.10/riscv64-glibc-ubuntu-24.04-gcc-nightly-2025.05.10-nightly.tar.xz | tar Jx

BusyBoxのビルドとルートファイルシステムの作成

BusyBoxをクロスコンパイルし、静的リンクでビルドする。その後、initスクリプトを作成してルートファイルシステムをcpioアーカイブとして作成する:

# Download BusyBox and create rootfs.cpio (v1.36.0)
RUN git clone https://git.busybox.net/busybox --depth=1 -b 1_36_0 && \
    cd busybox && \
    CROSS_COMPILE=riscv64-unknown-linux-gnu- make defconfig && \
    sed -i 's|# CONFIG_STATIC is not set|CONFIG_STATIC=y|g' .config && \
    CROSS_COMPILE=riscv64-unknown-linux-gnu- make -j$(nproc) && \
    CROSS_COMPILE=riscv64-unknown-linux-gnu- make install -j$(nproc) CONFIG_PREFIX=/linux_riscv/rootfs

initスクリプトでは、proc、sys、devなどのファイルシステムをマウントし、シェルを起動する:

RUN mkdir -p /linux_riscv/rootfs && cd /linux_riscv/rootfs && \
mkdir -p dev proc sys &&\
    echo "#!/bin/sh\n\
echo "[init] start" > /dev/console 2>&1\n\
mount -t proc    proc  /proc\n\
mount -t sysfs   sys   /sys\n\
mount -t devtmpfs dev   /dev 2>/dev/null || mount -t tmpfs    tmp   /dev\n\
mknod /dev/console c 5 1     2>/dev/null || true\n\
mknod /dev/ttyS0   c 4 64    2>/dev/null || true\n\
mknod /dev/null    c 1 3     2>/dev/null || true\n\
chmod 600 /dev/console     2>/dev/null || true\n\
chmod 666 /dev/null        2>/dev/null || true\n\
mkdir -p /dev/pts\n\
mount -t devpts devpts /dev/pts 2>/dev/null || true\n\
exec /bin/sh"  > /linux_riscv/rootfs/init && chmod +x /linux_riscv/rootfs/init

RUN cd /linux_riscv/rootfs && \
    find . -print0 | cpio --null -ov --format=newc > /linux_riscv/rootfs.cpio

Linuxカーネルのビルド

Linuxカーネルv6.9をビルドし、作成したrootfs.cpioをinitramfsとして組み込む:

# Build Linux (v6.9)
RUN git clone --depth=1 https://github.com/torvalds/linux.git -b v6.9 && \
    cd linux && \
    make ARCH=riscv defconfig && \
    sed -i 's|CONFIG_INITRAMFS_SOURCE=""|CONFIG_INITRAMFS_SOURCE="/linux_riscv/rootfs.cpio"|g' .config && \
    make ARCH=riscv CROSS_COMPILE=riscv64-unknown-linux-gnu- -j$(nproc)

OpenSBIのビルド

OpenSBI v1.6をビルドし、Linuxカーネルイメージをペイロードとして組み込む:

# Build OpenSBI (v1.6)
RUN git clone https://github.com/riscv-software-src/opensbi.git --depth 1 -b v1.6 && \
    cd opensbi && \
    make CROSS_COMPILE=riscv64-unknown-linux-gnu- \
    PLATFORM=generic FW_PAYLOAD_PATH=/linux_riscv/linux/arch/riscv/boot/Image

QEMUのビルド

最後に、QEMU v9.2.4をビルドする:

# Build QEMU (v9.2.4)
RUN git clone https://github.com/qemu/qemu.git --depth=1 -b v9.2.4 && \
    cd qemu && \
    mkdir -p build && cd build && \
    ../configure --target-list=riscv64-softmmu --prefix=$RISCV && \
    make -j$(nproc) && make install && \
    cd ../ && rm -rf build

QEMUでの起動

ビルドが完了したら、以下のコマンドでQEMUを起動する。

qemu-system-riscv64 -nographic -machine virt \
                    -kernel /linux_riscv/linux/arch/riscv/boot/Image \
                    -initrd /linux_riscv/rootfs.cpio \
                    -append "console=ttyS0 rdinit=/init"

実行結果は以下となっている:

./qemu_riscv_boot.sh                                                                                                                                                                                                                                                   
                                                                                                                                                                           
OpenSBI v1.5.1                                                                                                                                                             
   ____                    _____ ____ _____                                                                                                                                
  / __ \                  / ____|  _ \_   _|                                                                                                                               
 | |  | |_ __   ___ _ __ | (___ | |_) || |                                                                                                                                 
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |                                                                                                                                 
 | |__| | |_) |  __/ | | |____) | |_) || |_                                                                                                                                
  \____/| .__/ \___|_| |_|_____/|____/_____|                                                                                                                               
        | |                                                                                                                                                                
        |_|                                                                                                                                                                
                                                                                                                                                                           
Platform Name             : riscv-virtio,qemu                                                                                                                              
Platform Features         : medeleg                                                                                                                                        
Platform HART Count       : 1                                                                                                                                              
Platform IPI Device       : aclint-mswi                                                                                                                                    
Platform Timer Device     : aclint-mtimer @ 10000000Hz                                                                                                                     
Platform Console Device   : uart8250                                                                                                                                       
Platform HSM Device       : ---                                                                                                                                            
Platform PMU Device       : ---                                                                                                                                            
Platform Reboot Device    : syscon-reboot                                                                                                                                  
Platform Shutdown Device  : syscon-poweroff                                                                                                                                
Platform Suspend Device   : ---                                                                                                                                            
Platform CPPC Device      : ---                                                                                                                                                                                                                                                                                                                        
Firmware Base             : 0x80000000                                                                                                                                     
....
[    0.815524] debug_vm_pgtable: [debug_vm_pgtable         ]: Validating architecture page table helpers
[    0.825344] clk: Disabling unused clocks
[    0.825870] PM: genpd: Disabling unused power domains
[    0.826365] ALSA device list:
[    0.826634]   No soundcards found.
[    0.827353] Warning: unable to open an initial console.
[    0.889221] Freeing unused kernel image (initmem) memory: 3400K
[    0.890313] Run /init as init process
/bin/sh: can't access tty; job control turned off
~ # ls -ltr
total 4
lrwxrwxrwx    1 0        0               11 Nov 14 15:32 linuxrc -> bin/busybox
drwxr-xr-x    2 0        0             1900 Nov 14 15:32 bin
drwxr-xr-x    2 0        0             1480 Nov 14 15:32 sbin
drwxr-xr-x    4 0        0               80 Nov 14 15:32 usr
-rwxr-xr-x    1 0        0              537 Nov 14 16:41 init
dr-xr-xr-x   12 0        0                0 Nov 14 16:45 sys
dr-xr-xr-x   93 0        0                0 Nov 14 16:45 proc
drwxr-xr-x    5 0        0            12320 Nov 14 16:45 dev

実際のソースコード: riscv_linux/linux_on_qemu at main · msyksphinz-self/riscv_linux · GitHub

RISC-V Summit 2025を概観する (Day-3)

続いて、Day-3の資料の要約をChatGPTで行った。

State of the Union
Krste Asanović (Chief Architect, RISC-V International)
KrsteはRISC-Vの現状を「強い」と総括し、組込みからAIアクセラレータまで業界全域で採用が本格化していると説明。RVA23p1の進展、RVA30の構想、RVMやCHERIプロファイルなど新プロファイル策定も進行中で、RISC-Vが各産業縦割り領域に最適化されながらも統一されたISA設計を維持していることを強調した。また、セキュリティ(SPMP、IOPMP、Supervisor Domains、CHERI)、DSP(P-extension, Vector-DSP)、長命令(>32bit)など、進行中の仕様を紹介。AI向けにはBF16/OFP8、Bulk Normalization、複数方式のマトリクス拡張(IME, AME, VME)を取り上げ、RISC-Vが異なるマイクロアーキテクチャに柔軟に適応できる“長期進化可能ISA”である点を強調した。
Designing Processors in the Cloud
Jeremy Dahan (AWS)
AWSが提供するクラウドベースのEDA/エミュレーション環境を活用し、SoC/ECU/Vehicleレベルの統合開発を加速する方法を紹介。AWS Outposts、EC2 F2 FPGA、仮想ターゲット環境(QEMU、VDK、ETAS、Vectorなど)により、エッジ〜車載〜データセンターまでのハード/ソフト協調開発を「単一のワークベンチ」で完結させるビジョンを提示した。仮想化レベル(L0〜L4b)を使った段階的統合、CI/CDによる自動テスト、ARM Graviton実機の代替利用、RISC-V向け仮想環境の強化など、開発効率化の実例を紹介。RISC-Vを他アーキと同等レベルに引き上げるため、EDAワークロードのスケール、FPGA高速化、仮想車両シミュレーションなどの取り組みを進めていると述べた。
Blockchain, Cryptography, and RISC-V: A New Frontier in Open Development
Daniela Barbosa (Linux Foundation, LF Decentralized Trust)
ブロックチェーン/暗号技術の進化とオープンハードウェアの接点を整理し、CBDC(中央銀行デジタル通貨)など各国の実装例を紹介。オープン・構造化・検証可能というブロックチェーンの価値は、RISC-Vの理念と強く一致しており、ハードウェアレベルのオープン性が分散アプリケーションに大きく寄与すると述べた。特にZK(Zero-Knowledge Proof)VMにRISC-Vが最も適している点を強調。RISC Zero、CKB-VM、PolkaVMなど既にRISC-VベースのzkVMが普及しつつあり、スマートコントラクトをRISC-V ISAに標準化する構想も紹介。Ethereum開発者もRISC-Vベースのスマートコントラクト実行環境に強い関心を示していると述べた。
Reimagining the Future of HPC Catalysed by RISC-V
Nick Brown (EPCC / RISC-V HPC SIG Chair)
Nickは、HPCにおけるRISC-V採用が「2026年に転換点を迎える」と予測。既にARCHER2ユーザの35%がRISC-Vでアプリが動作、55%がポーティング可能という調査データを示し、Cinco RanchのRVVアクセラレータ、SG2042後継CPU、RVA23世代の高性能コアによる実用化が見えてきたと述べた。また、WormholeでのFFT、N-body 2×高速化、 energy 2×削減などの事例を紹介し、GPU以外の加速手段としてRISC-Vの柔軟さを強調。一方、Lustre/GPFS未サポート、GPUドライバ成熟不足、デバッガ/プロファイラ不足など課題も提示し、「HPC SIGと共にエコシステム全体の底上げが必要」と呼びかけた。
AI in the Real World
Ed Doran (Edge AI Foundation)
Edは「クラウドAIは限界に近づいており、エッジAIが新しい現実を作る」と指摘。データセンターの消費電力・水資源・環境負荷の増大(1DCあたり500万ガロン/日など)により、持続可能なAIのためにはクラウド×エッジの役割分担が不可欠であると説明した。エッジAIの価値(低レイテンシ、プライバシー、低コスト、接続不要)を提示し、2025–2030で市場が11.8→56.8Bへ5倍成長すると予測。RISC-Vについて直接は触れないが、エッジ向けAIチップ設計が多様化する中で、オープンISAが重要になる文脈を示した講演となっている。
Opportunities at the Edge of AI: RISC-V the AI-Native Architecture
Makeljana Shkurti (VRULL / RISC-V International)
Makeljanaは「RISC-VはAI時代のために作られたISAであり、特にエッジAIに最適」と主張。エッジではミリ秒単位の決定、ゼロデイ更新、プライバシー確保、極小電力、決定性などが必須で、従来ISAの“閉じた・剛直・ライセンス制限”は適応が困難だと説明した。自動車、ロボティクス、医療、ウェアラブル、ドローンの5領域で具体的ユースケースを示し、RISC-Vが「カスタムアクセラレータ統合」「決定性実行」「低電力AI」「ローカル推論」を自然に実現できることを強調。RISC-Vが次世代AI経済の標準基盤になるという強いメッセージで締め括った。
Enhancing RISC-V Embedded Processor Performance through Advanced Instruction Fusion
Carlos Basto / Revi Ofir (Synopsys)
Synopsysが提案する「高度命令融合」により、シングルイシューのIn-order MCUでもデュアルイシュー相当の性能(IPC +25%)を、ゲート数+20%で実現できるという革新的手法を紹介。マルチイシューの複雑性(RFポート増加・バイパス網拡大)を回避しつつ、前取りデコード情報を使ってLoad+ALU、Store+BR、Load+MPYなどの融合を行う。ISA非依存(ソフト互換)で実現できる点が最大の強み。Fusion用デュアルパス、拡張デコーダ、3R/2W Register File、メモリマルチバンク化などの軽量改修で性能密度を最大化。MCU分野でのRISC-V競争力を高める実装技術として注目に値する。
Enhancing OP-TEE for RISC-V: Leveraging IOPMP and Enabling RTOS Integration
Bing Yu (Andes Technology)
AndesのAndeSentryフレームワークの一環として、RISC-V向けOP-TEEの強化を紹介。IOPMP/ePMP/SPMPを用いたメモリ隔離、Secure Boot、RPMI(SBI メッセージプロキシ)によるLinux/TEE間通信など、RISC-Vアプリケーションプロセッサに必要なTEE基盤を整備した。さらに、MCU向けのMCU-TEE(Zone分離、PMP隔離、Secure Debug、最大8Zone)も紹介。「RISC-VでARM TrustZone相当のTEEを確立する」という明確なメッセージで、AndesがRISEプロジェクトを主導しOP-TEEのRISC-V移植を牽引している点を示した。
Optimizing Real-Time Application Requirements on ARC-V Processors Leveraging RISC-V Extensions
Rich Collins (Synopsys)
車載リアルタイム要求に応えるため、AIAだけでは不足する“リアルタイム割込み(RTIA)”を提案。Direct MSI(DMSI)、Nested Vectored Interrupts、Trap Stack Pointer Managementにより、割込み遅延を最小化し、ベアメタル / RTOS用途で決定的動作を保証する。多段IMSIC/APLICの複雑性を抽象化し、低遅延・低ソフトオーバーヘッドを実現。既存AIAとの後方互換性を維持しつつ、単/多コア・仮想化環境でも利用可能。車載・産業リアルタイムがRISC-Vを採用する上で重要な拡張となる。
Optimizing Compilers for RISC-V (NA Update)
Jeff Law (Ventana Microsystems)
Jeff はコンパイラ最適化の焦点が“命令数”から“PMUに基づく実性能解析”へ移行すべきと強調。RVVが導入されると命令数では性能が判断できず、branch mispredict、zero-stride load、vsetvl推測、Uarch癖などが性能を左右するため、linux perf / PMUサンプリングを活用した分析を必須とする。具体的に、x264の小規模ループの不利益なvector化、条件分岐誤予測、zero-stride最適化の罠、vsetvl推測移動の害などを例示。RISC-V向けコンパイラは“コストモデル強化・ベクトル優先順位・マイクロアーキ依存最適化”が急務だと結論づけた。
SBI v3.0 – Fuelling the Next Phase of Innovation
Atish Patra (Rivos) / Anup Patel (Ventana)
SBI v3.0は、RISC-Vプラットフォームのハイパーバイザ、OS、ファームウェア協調を強化するための大幅拡張版。新機能には Debug Trigger(DBTR)、Firmware Feature Control(FWFT)、Supervisor Software Events(SSE)、Message Proxy(MPXY)などが含まれ、RAS/PMUイベントの高速ハンドリング、Linux/UEFI/OP-TEE との新しい連携モデルを提供する。特にSSEは[V]S-modeをIRQ無効時でも割り込むことができ、異常検出時間をミクロ秒レベルまで短縮できる点が目玉。MPXYはRPMI(RISC-V Platform Management Interface)を媒介する共通メッセージ基盤として、Linuxドライバ・EDK2・OP-TEEを抽象化し、「M-modeに依存しないクロスプラットフォームの制御チャネル」を標準化する。FWFTはファームウェア提供機能の動的有効化 / ロールアウトを可能にし、将来のISA変更や性能改善をソフト側で制御できる仕組みを導入。v4.0では Confidential Computing(CoVE)連携を強化する予定。
Scaling Data Analytics via Confidential Computing on RISC-V Platforms
Ravi Sahita (Rivos)
本発表は、RISC-Vによる Confidential Computing(CC)と Confidential AI のアーキテクチャを総覧。Supervisor Domains と CoVE(Confidential VM Extension)が中核で、TVM(TEE VM)を物理アドレス、IOMMU、加速器、PCIe IDE-KMまで含めて“完全に隔離・暗号保護された”状態で実行する。また、OpenTitan/Caliptra(ハードウェアRoot of Trust)を統合可能にし、リモートアテステーションを標準化する方向性を提示。CoVEとCoVE-IOによってメモリ管理、割込み配布、加速器とのバインディング、キー管理を統一規格で扱えるようにする。RivosはQEMU、Salus TSM、OpenSBI、Linux/KVMで試作を進めており、2025年は仕様策定の最終段階。将来はTVM Migration、Rebootless Update、Sealingなどの運用系ABIの拡大が見込まれる。
The RISC-V Software Ecosystem: Primed for the Latest ISA Extensions
Andrew Jones (Ventana)
RISC-VソフトウェアエコシステムがISA拡張のスピードに追いつける理由を体系的に解説。QEMUによる初期モデル提供、PoCパッチの早期公開、上流優先ポリシー、Profiles(RVA23)などの標準化によって、ISAが登場すると同時にコンパイラ・ライブラリ・Linux・KVMが揃う体制を構築したと説明。Linuxの hwprobe() によりアプリケーションが拡張セットを確定的に検出できるようになり、RVA23ビルドのディストリビューションが2026年前後から登場予定。将来の拡張には「ゲスト移行(ライブマイグレーション)を阻害しないこと」「VS/VU向けの細粒度disable」が求められると提案。
Mission-Critical AI in Space and Sky: SWaP-Constrained Intelligence with RISC-V FPGA-SoCs
Dave Ojika (Flapmax) / Shreya Mehrotra (Altera)
衛星(FLAP-0)、UAV(SKY-0)にみられる SWaP-C(Size, Weight, Power, Cost)制約下のAI処理において、RISC-V + FPGA SoC が最適である理由を紹介。既存AIチップの“FLOPs中心の設計”は実運用でのデータ移動や同期遅延を反映せず、実際の性能を過大評価すると指摘。Nios V(RISC-V)を制御平面に使い、FPGA内のAIアクセラレータと連携することで、低遅延・電力効率・堅牢性を両立させる。さらに、AI分散処理を評価する“RISCBench”(Streaming/Residencyを考慮したSIT指標)を公開し、AIの継続性能を計測する新指標を提案。宇宙・航空用途のAI効率化には「AIアクセラレータ間のオーケストレーション性能」が最重要であり、RISC-Vはその制御層として高い適性があると主張。
CVA6-CHERI: An Open-Source RV64Y Implementation for Commercialization
Bruno Sá / Jonathan Woodruff / Capabilities Limited
RISC-VのCHERI拡張(RV64Y)の実装例として、CVA6をベースにしたCHERI対応プロセッサを紹介。能力(Capability)ベースの安全性向上として、境界付きポインタ、タグ付きロード/ストア、Capability CSRs、PCC処理などを実装し、CheriBSDをFPGA上で完全起動。TestRIGによる形式検証とBluespec/SystemVerilogの等価性チェックで複数のバグを検出・修正したと述べた。面積削減(17%のExecuteロジック削減、PC Capability処理の再設計)、タイミング改善(50MHz動作)、モード切替最適化など商用実装の観点で改良を実施。CVA6-CHERIは将来のCHERIプロセッサの“セカンドソース”となり、産業導入のハードルを下げる存在を目指す。
Tiling Support in the SiFive AI/ML Stack for the RISC-V Vector-Matrix Extension
Min Hsu (SiFive)
RVVとVME(Vector-Matrix Extension)を組み合わせたSiFiveのAI/MLソフトウェアスタックを紹介。大型Cアキュムレータ、外積型MM、マルチタイル行列積に対応し、IREE(MLIRベースコンパイラ)と密接に統合してタイル分割・並列化・ukernel最適化を実現している。SiFive XMはVMEハードウェア実装を含み、RVVベースで高性能ML計算を実現。今回の発表ではIREEに“multi-tile GEMM”最適化を追加し、C00/C01/C10/C11など複数タイルへの計算を並列・効率的に展開できるようにした。タイル化がAI計算の鍵であり、VMEはそのために設計された拡張であると強調した。
Democratizing Inference of Open-Weight Models on RISC-V Manycore Accelerators
Roman Shaposhnik / Tanya Dadasheva (AI Foundry)
完全オープンソースRISC-V多コアAIアクセラレータ「ET(旧Esperanto)」を中心に、AIインフラを“GPU依存から解放する”構想を提示。Minionコア(軽量RV64)+Maxionコア(BOOMベース)+NEMI NoC によるトランスピュータ的モデルを採用し、FPGA実装済みの100%オープンなAI SoCを提供。ソフト側はGGML/tinygrad/llama.cppを中心とした“RISC-V LAMPスタック”を提唱し、量子化(int4)・ファインチューニング・分散推論を前提とした新しいAIフレームワーク像を提示。データセンター規模ではラック全体で「tokens/sec/W」を最適化する必要があり、そのためにはGPUよりも柔軟なRISC-V多コア設計が適すると強調。
Unleashing ML Processing Power Through RISC-V Vectors
Roman Shaposhnik/Tanya Dadasheva (AI Foundry)
ML用途でRVVが有利となる理由を、VLENスケーリング、並列レーン、マスク処理、シフト、Load/Store 多様化といったマイクロアーキ観点から解説。100〜200種以上の複雑な制御方式(VL/VTYPE/ソースレジスタ依存)を持つRVV命令の挙動を詳細に説明し、動的タイル化やGather/Scatter、Segment Load/Storeの動作も紹介。検証側では、具体的なテスト生成手順(命令選定→VL/SEW/LMUL設定→有効メモリ配置→マスク・レジスタ準備→実行)を例示し、再現性の高いベクタ検証手法を提供。RVV 実装者向けの“実務ベストプラクティス”として価値の高い講演。
Running WebLLM in the Browser on RISC-V: Toward Lightweight Local AI
Kathy Giori / Yuning Liang (DeepComputing)
DeepComputing がRISC-VノートPC(DC-ROMA、Framework Mainboard)向けにWebLLMをブラウザ内で実行する取り組みを紹介。ChromiumのRISC-V移植、WebSerial/WebNN/WebGPU/WASM-SIMD(RVV)対応を進め、ローカルAI(DeepSeek 7Bなど)をWeb上で扱える環境の整備が進展。同社はESWIN 7702x(50TOPS、8-core RISC-V、NPU/GPUチップレット)を採用し、AIスタートアップ100社支援・1000人のAIコントリビュータ育成プログラムを展開。WebLLM × RISC-V によって「軽量・ローカル・プライベートAI」を普及させる戦略を描く。
Defending Against Transient Execution Attacks: Security Enhancements in XuanTie Microarchitecture
Xinyu Qin(Alibaba DAMO)
Spectre/Meltdown系に代表されるTransient Execution Attack(TEA)に対し、XuanTie(玄鉄)マイクロアーキテクチャで実装している防御策を体系化。Branch Predictorのコンテキストアイソレーション、Global History分離、Selective Memory Disambiguation(安全なStore→Load順序)、Faulting Loadの非転送化など、機能単位での精密な制御を紹介。RISC-V標準化側では FENCE.TIME、Speculation Barrier の議論が進行中だが、実際の製品レベルでは“どこに、どれだけ適用すべきか”が難しく、統一的評価フレームワークが必要と指摘。ハードウェア機能の標準的検出方法、OS/toolchainとの緊密な協調が次の課題と述べた。

RISC-V Summit 2025を概観する (Day-2)

続いて、Day-2の資料の要約をChatGPTで行った。

Paving the Road to Data Center-Scale RISC-V
Martin Dixon(Google)
GoogleのMartin Dixonは、データセンター規模でのRISC-V展開に向けたロードマップを示した。講演では、x86→Armへの移行経験から得た知見を踏まえ、RISC-V導入に必要な「標準仕様(Server Platform Specification)」「高性能SoC」「包括的テスト」「活発なコミュニティ」を“車の旅”に喩えて紹介。Mooreの法則の限界に対し、異種ISA(x86, Arm, RISC-V)の共存が今後の方向性であると強調した。Google内部ではRISC-Vを既にデータセンター要素技術として評価中であり、AIによる自動コード修正・テスト生成(40,000件のコード編集)を通じてポーティングを加速。CI/CD環境で自動的にマルチアーキテクチャテストを実施する“Shadow Testing”を導入しており、開発者が意識せずに移行検証できる体制を構築中。最終的な目標は、AI主導の「自己運転型ソフトウェア移植(Level 5 Automation)」によって、RISC-V採用を自然な選択肢にすることであると述べた。
RISC-V Outperforming Expectations
Richard Wawrzyniak(The SHD Group)
半導体市場アナリストのRichard Wawrzyniakが、最新の市場分析レポート「2025 RISC-V Market Analysis Report」を発表。RISC-VベースSoCの出荷は2031年までに350億ユニット超、年平均成長率(CAGR)31.7%と予測。AIアクセラレータ、MCU、ネットワークデバイスの需要が成長を牽引し、RISC-V CPU IP市場は2031年に19億ドル規模へ到達すると見込まれる。Armとの差は急速に縮まり、2026年にはハイエンドCPU性能でほぼ同等に達する見通し。AIアプリケーションの多様化がRISC-V普及の主要因であり、SoC設計の異種化(複数ISA共存)がRISC-V採用を促進していると指摘。Nvidiaが全製品にRISC-Vを採用し、CUDAのRISC-V移植を進めている点を「転換点」と位置づけた。さらに、Google、Meta、Qualcomm、Samsung、Renesasなど大手企業の参入により、RISC-VはすでにArmに次ぐ第2の主要アーキテクチャとして確立。今後はAIやエッジ向けSoCのカスタマイズ需要を背景に、オープンISAが市場競争力の源泉となると結論づけた。
A Networking Native RISC-V Processor for the Datacenter
Mark Throndson(GlobalFoundries / MIPS IPBU)
Mark Throndsonは、データセンター・ネットワーク処理向けに設計されたRISC-VベースSoC「MIPS I8500」を紹介。I8500は最大384コア/1500ハート構成を持ち、Simultaneous Multithreading(SMT)とMIPS Defined Instructions(MDI)による高スループット設計を採用。1GHz動作時にArm Cortex-A53比で2倍以上のパケット処理性能を示し、クラスタ単位でのマルチスレッド拡張によりシリコン効率3.5倍を実現したと報告。ネットワークDPU(Data Processing Unit)用途を想定し、低遅延DMA、L1直結ストリーミングポート、L2キャッシュ一貫性を備える。Linux/RTOS両対応のSDKを提供し、前シリコン段階からソフトウェア最適化を可能にする「Atlas Explorer」仮想環境を用意。GlobalFoundriesグループ傘下のMIPSとして、物理AI・通信・自動車・ストレージ領域へのRISC-V展開を拡大し、「RISC-V at Foundry Scale」をスローガンに産業用途での本格採用を推進している。
Verifying a Complex RISC-V Processor Using Test Generation and Hardware Emulation Techniques
Wei-Hua Han/Shubhodeep Roy Choudhury/Aimee Sutton
本発表は、複雑化するRISC-Vコア(例:XiangShan)の検証に必要なテスト生成・高速エミュレーション技術の統合手法を解説。MMU/TLB、AIA/IMSIC、マルチハート、OoO実行、RVV 1.0など高度な機能を網羅するには 10¹⁵サイクル級 の検証が必要であり、従来のソフトウェアシミュレーションでは実用的でないと指摘。検証刺激を生成する STING(100,000以上のテストフラグメント)を中心に、ランダム・ワークロード・ディレクテッドテストを組み合わせる総合的な仕組みを紹介。同フレームワークは HAV(Hardware-Assisted Verification) と組み合わせて、Zebu/HAPSエミュレーション上で高スループットテスト実行を行い、ソフトウェア検証の6000倍に達する性能を実現。ストリーミングテスト方式により再構成のオーバーヘッドを削減し、継続的にテスト投入可能とする。デバッグではVerdiを活用し、ISS(ImperasFPM)とのロックステップ実行で差分解析を実施。今後は機能カバレッジの追加や自動デバッグ強化を目指している。
Accelerating Software Development for High-Performance Chiplet-Based Compute Using Virtual Prototypes
Luke Yen/Rae Parnmukh/Larry Lapides
本講演では、TenstorrentのAI向けチップレットアーキテクチャに対し、Synopsys Virtualizerを用いた VDK(Virtualizer Development Kit) を活用して、ソフトウェア開発を事前に左シフトする手法を紹介。システムC/TLMモデルにより、CPU・MLアクセラレータ・メモリ・スケールアウトチップレットの複雑な構成でも、ブートフロー検証・ファームウェア開発・IOハンドシェイク確認を実現。特にチップレット構造が複雑化する中、VDKが初期段階での安全な検証環境を提供する役割を強調した。さらに、マルチホスト分散シミュレーションにより大規模チップレットシステムを高速化し、Linux 6.12.1のブートに成功した例を紹介。FPGAプロトタイピングの代替としてVDKを使用することで、ソフトウェア・ハードウェア協調設計が容易になり、顧客が独自モデルを統合できる柔軟性を確保。最終的には「シリコン前の完全な信頼性(Pre-silicon confidence)」を提供し、市場投入までの期間短縮を実現すると述べた。
RISC-V Customization After a Tape-out
Zdenek Prikryl(Codasip)/Gareth Baron(Menta)
CodasipのStudio FusionとMentaのeFPGA技術を用い、テープアウト後にRISC-Vコアをカスタマイズする 手法を紹介。通常、ISA拡張は設計初期に固定されるが、製品寿命中に要求が変化する IIoT/暗号/新アルゴリズムなどの領域では事後拡張が有用であり、L110コア+eFPGA が柔軟性の鍵となると説明。CodALで命令を記述するだけでRTL/SDK/シミュレータ/コンパイラに自動反映されるワークフローを提示した。ケーススタディとして、行列積(matmul)命令をeFPGAに追加し、拡張オペランド(rs1, rs2, a6, a7)を活用して高速化した例を紹介。マトリクスサイズが大きくなるほどハードウェアアクセラレーションの効果が増大し、最大3.5倍のスピードアップを実証。さらに、eFPGAリソース選定(LUT/DSP/MEM)やIOマッピングの注意点、今後のマルチCPU+共有eFPGA構成などの展望にも触れた。
ChipIN Centre: Accelerating India’s Journey in RISC-V
Venkata Reddy K/Aneesh Raveendran(C-DAC Bangalore)
インドのRISC-V国家プロジェクト「DIR-V」の中核拠点である ChipIN Centre の取り組みを紹介。C-DACのVeloceエミュレーション、Param Utkarshスパコン、EDAツール群を活用し、国内大学290校・スタートアップ88社に対してチップ設計支援を実施。マルチプロジェクトウェハ(MPW)シャトルを年間4回実施し、わずか1年で96デザインをSCLへ投入する成果を達成した。さらに、農業・自動車・通信・セキュリティなどを対象とした「DIR-V Grand Challenge」で100テープアウトを目指す取り組みを報告。低コストでのファブ利用、標準IPレポジトリ提供、教育プログラムなど、多面的な国家戦略の一環としてRISC-V普及を加速している。インド政府の「Million Chips, Billion Dreams」というスローガンの象徴的存在となっている。
Verifying Out-of-Order Vector Extension Using Open Source Tools
Sharvil Panandikar ほか(Tenstorrent)
Tenstorrent Ascalon(RVA23対応 OoO RVVコア)の検証方法を、完全にオープンソースのツール群で実現する手法を提案。Riescue-D(ディレクテッドテスト)、Riescue-C(コンプライアンステスト)、ISG(ランダムテスト)、Whisper(ISS)、rv_tester(ロックステップ検証)を組み合わせ、複雑なベクタ命令(Gather/Scatter、Segment、Permutation等)や長マイクロシーケンスにも対応。特に、Vstart≠0処理、IOアクセス、例外処理、長命令系列など、OoOベクタ特有のバグ検出に強みを持つ。今後はCoreArchCoverageを追加し、Whisperベースでカバレッジモデルを自動生成する計画。オープンソースのみで高性能RVVコアの実証が可能であることを示し、開発者コミュニティへの貢献を強調した。
Automated Certification and Benchmarking for RISC-V Architectures
Enrique Pallares(Quintauris)
Quintaurisは、ISO 26262を含む安全規格に対応した 認証・ベンチマーク自動化フレームワーク(QNT) を発表。仮想環境・FPGA・シリコン上でのベンチマーク実行を一元化し、構成データ・ツールバージョン・ログをデータベース化することで完全なトレーサビリティを保証。Dockerベースの環境で再現性(100%確認)とセットアップ高速化(3倍短縮)を実現している。多様なRISC-V IPベンダ(SiFive, Tenstorrent, Synopsys等)やオープン/商用ツールチェーンと連携し、性能測定・機能検証・監査レポート生成を統合。将来的にはRISC-V Internationalの公式標準化に寄与し、業界共通の「認証基盤」となることを目指している。
Tenstorrent – Extending the RISC-V Opensource Ecosystem
Darshak Koshiya(Tenstorrent)
Tenstorrentが公開しているRISC-Vオープンエコシステムを総覧。Ocelot OoOコア(RV64GCV)をはじめ、tt-dfd(トレース)、tt-pmk(パワーマネジメント)、IMSIC/IPIモデル、IOMMU、APLICなどのシステムIPをオープンソース公開。また、RVA23対応のアーキテクチャルテスト、RiESCUE-D/C、Whisper、ArchCoverageなど検証資産も多数提供。さらに、Linux/KVM/Zephyr/コンパイラ(gcc/llvm)などのソフトウェアスタックも整備し、顧客や研究者が「自分のシリコン未来(Own Your Silicon Future)」を実現できる環境を目指す。フォーマル検証済みDividerやFMA追加など、今後のOcelot拡張計画も紹介した。
Understanding the RISC-V Extensions for AI
John Simpson(SiFive)
SiFiveのJohn Simpsonが、AI用途で重要となるRVVとRISC-Vマトリクス拡張(IME/VME/AME/Zvbdotなど)の技術的背景を整理。AIモデルの巨大化により、BF16/FP8などの新データ型、タイル化した行列計算、ベクトル長大化(VLEN 16Kib実装例)が強く求められていると説明。各アプローチ(Zvbdot, IME, VME, AME)の性能特性を比較し、LLMのprefill/decodeフェーズでの最適化ポイントを示した。特にZvbdotはsmall-batch GEMVで高効率、AMEは最大MAC数、IMEは省電力、VMEは柔軟性に優れると評価。AI計算の多様性に対応するため複数のISA提案が進行している現状を説明した。
Automating Design Space Exploration Using Advanced Simulation Technologies
Knute Lingaard/Sam Grove(MIPS)
MIPS Atlas Explorerを用いて、ソフトウェア・ハードウェア協調設計を自動化する手法を紹介。Functional ModelとArchitectural Performance Modelを連携させ、パイプライン探索、ワークロード特性解析、メモリレイテンシ分析などを実施。ソフトウェア側ではプロファイル・PGO/FDO最適化の自動化を提供し、実シリコン・FPGA・シミュレーションのどれにも対応する。Atlas Explorerは、マルチスレッド可視化、kernel/user分離、HDF5トレース解析、差分比較などを備え、設計段階から量産段階まで一貫した性能洞察を提供。MIPSはRISC-V Performance SIGで主導的役割を担い、システム全体最適化を強化する方向を示した。
RISC-V Big Endian Adventure
Lawrence Hunter/Roan Richmond(Codethink)
CodethinkがRISC-Vにビッグエンディアン(BE)サポートを追加する実験プロジェクトを報告。QEMU、OpenSBI、Linux、CVA6にまたがる広範なパッチを作成し、CSRs(MBE/SBE/UBE)によるエンディアン制御、MMU・ページテーブル挙動、IOバスのLE変換対応、BPF/JIT修正、.insn導入など、多岐にわたる修正点を詳細に紹介。FPGA(Genesys2)上でBE Linuxを起動成功した一方、uclibc/musl/BPF/kprobeなど未解決の課題も提示。産業界の需要が少ないため現時点でUpstreamは難しいが、大規模OSS修正の過程で多数のバグを報告・修正し、成果をGitLabで公開。技術的チャレンジとして高い評価を得た取り組みである。
Unleashing the Power of RISC-V with TrusteD-V: A RISC-V Rust Ecosystem
Yashwanth Singh M(Bosch)
Boschが推進する「TrusteD-V」は、RISC-V向けのRustベース・ミドルウェアと開発環境を統合したソフトウェアスイート。RISC-Vツールチェーンの未成熟さ、信頼性ギャップ、参照デザインの不足といった課題を背景に、Rustの安全性・並行性・速度を活用し、ブートローダからRTOS、デバイスドライバまで一気通貫したスタックを提供することで、開発者体験を劇的に改善することを目指す。製品群には、RustベースSDK、セキュアブート、Tock/Hubris/EmbassyなどのRTOSサポート、probe-rsやオンボードデバッガ、RISC-V専用IDE、マーケットプレイスまで含まれ、チップ立ち上げ(bring-up)を自動化可能。言語非依存APIによりチップ固有の機能を迅速に統合でき、スタートアップや企業が「安全・高速・低コスト」でRISC-V採用を加速できるよう設計されている。
Enabling Intelligent Media Playback on RISC-V – Running VLC
Yuning Liang(DeepComputing)
RISC-VノートPC(DC-ROMAシリーズ)やFrameworkとの協業を進めるDeepComputingが、代表的OSS「VLC」のRISC-V移植とAI統合の挑戦を紹介。125以上の依存パッケージ、OpenJDK/Lua/Qtなど巨大ソフトウェア群の移植、FFmpegのRVV対応、Whisper(STT)、DeepSeek 7Bのローカル推論など、多数の実装課題を乗り越えたプロセスが示された。特にAI機能統合(字幕生成、翻訳)にはNPU/ModelZoo SDKが必須であり、ローカルモデルの高速化が現実的な課題として浮上。2025年以降、RISC-V × AI の実用化を進めるため、100社のAIスタートアップ支援、1000人規模のAIコントリビュータ育成プログラムも開始。RISC-Vのコンシューマ向け実例として稀有な内容である。
GPON and VOLTHA Solution on RISC-V
Partha Mitra(Microchip)
Microchip PolarFire SoC を使った GPON OLT(光アクセス) のRISC-V実装を紹介。MSS(RISC-Vクラスター)が制御プレーン、FPGAファブリックのMAC IPがデータプレーンを担うハイブリッド構造で、2.5Gbps下り/1.25Gbps上りの規格値を達成。DBA 200Hz、データ復旧1分以内など運用要件を満たすことも実証した。さらにVOLTHA(LF Broadband)をRISC-Vへ移植し、SDN/ONOSと連携した「完全オープンなOLT制御プレーン」を提供。Docker/Kafka/gRPCなど多くの依存関係移植で課題が見られつつも、RISC-Vが実サービス運用レベルのテレコム装置を構築可能であることを示す。今後はXGS-PON/NG-PON2への拡張も視野に入れている。
How NOT to Program an Out-of-Order Vector Processor
Anton Blanchard/Chip Kerchner/Dongjie Xie(Tenstorrent)
OoO実行型RVVコア(Ascalon X)向けに最適化する際の“やってはいけないこと”を体系的にまとめた実践講演。In-OrderとOoOの違い、strip-miningの重要性、vsetvlの扱い、オートベクタライズ活用、複雑命令(segment load/store, vrgather, vcompress)の最適な使用条件などを比較し、手書き最適化が逆に性能を落とす例(OpenBLAS SGEMVで本来得られた10倍改善を逃す)も紹介した。測定結果によると、OoO RVVではlmul小さめ/strip-mining/auto-vectorizationが最適で、In-Order向けの“濃い最適化”は逆効果。fbDOOM GPU風レンダのRVV化(FPS/GHz 4.9倍)、SPECint2006 21/GHz達成など、OoO RVVの性能ポテンシャルを示しつつ、ソフト最適化がアーキテクチャに追従していない現状を改善すべきと訴えた。
AI-Ready RISC-V Using On-Chip Monitoring for Performance and Reliability at Scale
Ziv Paz(proteanTecs)/Marc Evans(Andes)
Andesの高性能RISC-V(Cuzco/AX45/AX46)にproteanTecsのオンチップモニタリングエージェントを統合し、AI向け大規模運用時の信頼性・省電力・可観測性を強化する手法を紹介。先端ノードで急増するSDC(Silent Data Corruption)やVdroopを、実パスの遅延モニタリングで可視化し、リアルタイムにVDD最小値を推定してダイナミックガードバンドを最適化できると説明。結果として、最大15%のTOPS/W改善、14%の消費電力削減、20%の寿命延長などを達成。predictive maintenance や RTHM(Real-Time Health Monitoring)でチップの予兆故障を防ぎ、AIサーバやネットワーク装置の高信頼化を実現。AI時代のRISC-Vを“運用可能なアーキテクチャ”に引き上げる試みとして注目される。
Efficient RISC-V Processor Customization: Minimizing Verification Efforts
Zdenek Prikryl(Codasip)
“Bounded Customization”という新しいISA拡張フレームワークを紹介。通常、カスタム命令追加はRTL/コンパイラ/ISS/デバッガの再検証コストが莫大だが、L110コア+CodALによる境界(register file制約、CSR書き込み禁止、例外1種類など)を設けることで、基本コアの再検証不要でカスタム命令だけを検証すれば良い 構造を実現。ケーススタディとして、ファン異常検知DSP→4.36倍高速化/6.11倍省電力、NESエミュレータ(MOS6502命令)→FPGA実装成功といった成果を提示。Codasip Studio FusionがRTL/SDK/ISS/コンパイラを自動生成し、ソフトエンジニアでも命令追加できる開発体験を実現する。
Boosting Video Codec with RISC-V Vector Extensions
Qin Xinyu/Qiu Jing(Alibaba DAMO)/Qian Jiayan(ByteDance)
動画コーデック(x264/x265等)のRVV最適化におけるボトルネック分析とFast-Track提案(Zvzip/Zvabd/Zvqdot)の効果を詳細に紹介。VLA(可変長ベクトル)の理想と現実の乖離—“VLAは書いたら動くが、性能はVLENごとに最適化しないと出ない”—を示し、動画処理が極めてハードウェア指向であることを強調。Fast-Track拡張により satd/sad/ssd/hadamard など多数の動画演算で 40〜86%のサイクル削減 を達成。さらにハード/ソフト協調(並列幅最適化、シーケンス融合、forwarding戦略改善)で x264が最大4.08倍、x265が最大4.3倍高速化。RVVが動画処理分野でArm NEON / x86 AVX に迫る実用性能を出しつつあることを示した。
Next-Generation Edge AI with RISC-V Vector Cores for Vision Applications
Florian Zaruba(Axelera AI)
AxeleraのEuropaアーキテクチャ(2×8 RISC-V VLEN4096コア)を紹介。CVパイプラインの大半はNN以外の前処理/後処理が律速であり、従来のGPUはPCIe帯域・ゼロコピー不可がボトルネックとなる。これを解決するため、前後処理をRISC-Vベクトルコアに完全オフロードして高速化。PVE(Programmable Vector Engine)は1.2GHz・8スレッド・2MB SPメモリを備え、NMS/αブレンド/リサイズなどでRTX4060 Mobileを上回る性能を示す。Europaは16 FHD@30fps を余裕で処理し、Metis/Titaniaへ続く製品ロードマップを支える“RISC-Vベクトル × CVアクセラレータ”の実用例となっている。
RISC-V System-Level Certification from Verification Foundations
Adnan Hamid(Breker Verification Systems)
Microcontroller→Apps Processor→Subsystem→Server Platformへ段階的に広がるRISC-V認証の将来像を提示。特にAIA(IMSIC/APLIC)、IOMMU、IOPMP、PCIe/ATS、キャッシュコヒーレンシ、ハイパーバイザ二段階アドレス変換など「システムレベルの機能」が今後の認証で不可欠になると強調。BrekerのPortable StimulusベースSystemVIPにより、MMU/Interrupt/IOMMUを含む複雑な並行シナリオを自動生成。2.23e138の状態空間をグラフ探索で網羅し、coherencyストレステストやAIAのMSI経路検証を自動化する。次世代のRISC-V認証が単なるISA互換に留まらないことを示す内容。
Nuclei High-Performance UX1030H (Full RVA23 Support)
Peng Chen(Nuclei)
Nucleiが発表したUX1030Hは、RVA23完全対応の高性能OoOコア(3-wide decode、最大8 issue、RVV1.0、Sv48、Hypervisor、IOMMU、AIA搭載)で、最大16コアクラスタ構成を提供。Dhrystone 5.35、CoreMark 8.5 など、高性能を「標準命令のみ」で達成している点が特徴。128–256bit VLEN対応VPU、Dual-Mode(Linux用MMU+RTOS用ILM/DLM/ECLIC併用)、Cluster Local Memory化(L2をRAMとして再利用)、IOCPによる外部NPUとのキャッシュコヒーレンシなどSoC設計者向け機能も豊富。RISC-Vアプリケーションプロセッサの実用段階を象徴するIPとして位置づけられる。

RISC-V Summit 2025を概観する (Day-1)

ChatGPT に頼んで、Day-1の資料を読み込みつつだいたいの概要を掴めるようにした。

Building RISC-V Together: Progress, Process, and Participation
Rafael Sene (RISC-V International)
RISC-V Internationalの標準化プロセスとコミュニティ構造を体系的に紹介。Task Group (TG) やSpecial Interest Group (SIG) の活動連携、提案からRatificationまでの流れを明示し、透明性・再現性・参加性を基盤にした開発モデルを強調。参加者数の増加や国際連携の実績をデータで示した。今後の焦点は、仕様策定スピードと品質の両立、重複仕様の整理、TG間の調整強化。Rafaelは「共創によるエコシステム成長」を掲げ、貢献者の拡大と教育・支援体制の整備を呼びかけた。
RISC-V and HPC: Recent Successes, Current Challenges and Future Opportunities
Nick Brown (University of Edinburgh, EPCC)
HPC分野におけるRISC-Vの活用と課題を分析。移植済みアプリケーション、ツールチェーン整備の進展を報告し、エネルギー効率・スケーラビリティ・開発環境の利点を示した。オープンISAの柔軟性がHPC向け最適化に寄与する点を強調。今後の課題として、GPU・ネットワーク連携、メモリ帯域、ソフトウェア成熟度の向上を指摘。RISC-Vが学術・産業HPCの融合基盤となる可能性を提示し、共同研究と標準化推進を呼びかけた。
Toolchain Features for ISA Evolution
Sam Elliott (Qualcomm Technologies, Inc.)
LLVMやbinutilsを用いたRISC-Vツールチェーンの新機能を紹介。.insnマクロ、強化されたインラインアセンブリ構文、.option exactなどを用い、ISA拡張の迅速な検証を可能にする仕組みを解説。開発者が本体ツールを改変せずに新命令を安全に試作できる環境を重視。将来的には、命令自動エンコーディングやプロファイル別ビルド対応などを目指し、ツールチェーンがISA進化のボトルネックを解消する方向を示した。
Unprivileged ISA Committee Update
Earl Killian (Aril Inc.) / Krste Asanovic (UC Berkeley)
Unprivileged ISA Committeeの活動状況を報告。Zimop/Zcmop、Zabha、ZalsrなどのRatification進展を発表し、B拡張の再構成やRVA/B23.1の成果を共有。Vector/Matrix、Packed SIMD、CHERI、Cryptoなど多領域にわたる拡張の進捗を紹介。今後はプロセス標準化とデータ統合 (UDBなど) によって、仕様の一貫性を確保する方針を示した。
Profiles SIG Update
Profiles SIG (RISC-V International)
プロファイル別ISA策定の進捗を紹介。RVA23.1/RVB23.1ドラフトの開発状況や、Profiles Development Processの更新を説明。Profile間の共通化・整合性維持を目的とした「共通文書構造」の導入を進めている。今後はRVR、RVSなど新カテゴリの追加を検討し、開発効率と可読性を両立。用途別ISA選定を容易にするため、Profileベースの標準文書化を推進中。
Certification Update (CSC Members Day)
James Ball (Qualcomm) / Bilal Zafar (10xEngineers)
RISC-V Certification Program (RVCP) の進展を解説。CSC 2.0体制下でTest Suite WG、Requirements WG、Operations WGを設立し、フェーズ別認証を展開。マイクロコントローラからサーバSoCまで対象を拡大。クラウドポータルによる自動評価・ロゴ発行を整備し、BoD支援で専任エンジニア採用を推進。オープンテストスイートと透明性ある認証プロセスを確立する計画を示した。
The Missing Link: Defining a Standard Firmware Interface for RISC-V Microcontrollers
Alexey Brodkin (Synopsys)
Mモード集中構造の課題を解決する新標準「μSBI」を提案。RTOSやアプリをS/Uモードで動作させ、Mモードに最小限のサービス (起動、時刻、デバッグ等) を残す分離構造を導入。μSBIはSBIをマイクロコントローラ向けに簡略化したABIであり、RTOSポータビリティとセキュリティを両立。Zephyr RTOSでの導入を皮切りに、軽量・安全な標準ファームウェア層として普及を狙う。
RISC-V Security Q4 Update
Andy Dellow/ Ravi Sahita (RISC-V Security HC)
Security HCの活動を総括し、CHERI、SPMP、IOPMP、CoVE、Memory Taggingなどの拡張を報告。各仕様のRatification進行状況とSecurity Model改訂版を紹介。ポインタマスキング、Shadow Stack、Lightweight Isolationなどの新研究を共有し、形式検証の導入を推進。設計段階から安全性を組み込む「Security by Design」の理念を強調した。
Technology HC Update
Jiangang Duan/ J.U. Nambi (RISC-V International)
Technology HCの役割と活動を紹介。Soft CPU、Data Center、HPC、Automotive、Space各SIGの進展をまとめ、QoS要件や安全規格 (ISO 26262) 対応の議論を報告。「Gap Analysis」で新領域を発掘し、横断的な技術SIG設立を支援。今後はAI・低電力・宇宙用途などの新分野での展開を重視する方針を示した。
RISC-V Documentation: Past, Present & Future
Bill Traynor/ Kersten Richter (RISC-V International)
RISC-V文書体制の刷新を報告。LaTeXからAsciiDocへの完全移行、Valeツール導入、Antora対応テンプレート整備などを実現し、全仕様書を統一構造で発行可能に。今後はドキュメント自動生成 (UDB連携) とReference Library拡張を計画。「文書は仕様そのもの」であるという理念のもと、品質と即時性を両立させる体制を整備。
RISC-V Unified Database: Past, Present, and Future
Unified Database SIG (RISC-V International)
ISA仕様をYAML形式で一元管理するUnified Database (UDB) の開発状況を報告。命令・CSR・Profiles情報を機械可読化し、自動検証とPRM生成を実現。2025年時点で拡張88%、命令99%をカバー。将来的にはCSCやSailモデルと統合し、RISC-V仕様の「Single Source of Truth」として活用される見通し。
The State of the Sail RISC-V Model
Alasdair Armstrong (University of Cambridge) ほか
形式仕様モデル「Sail RISC-V」の最新版を紹介。91拡張をサポートし、SMT検証・ELF連携・JSON設定など開発効率を向上。CHERIoT検証で30件のバグを発見し、PydrofoilによるJIT高速化でエミュレーションを230倍改善。今後はUDBとの統合と自動仕様検証を進める。
Catching Memory Safety Bugs with Hardware Assistance (Memory Tagging)
Deepak Gupta (Rivos) / Florian Mayer (Google)
メモリ安全性強化のための新ISA「Memory Tagging」を提案。ポインタ上位ビットのタグをメモリ側タグと照合し、Use-after-freeや越境アクセスを検出。Zimt、Svatag、Smvatag、Zitagelideを含む新命令群を定義し、低オーバーヘッドでCIや本番環境の安全性を向上。2026年にハードウェア実証を予定。
RiESCUE-D: A Powerful Framework for Directed Test Development
Darshak Koshiya (Tenstorrent)
Pythonベースのディレクテッドテスト生成フレームワークを発表。複雑なアセンブリテストを自動生成し、マルチモード・仮想化・ページングを一括制御。例外処理、ランダムデータ生成、マルチハート実行に対応。CSCやACTとの連携を視野に、テスト設計の自動化と再利用性向上を狙う。
Framework for RISC-V Certification – SW, HW and Systems
Nambi J.U. (Lyle Technologies LLP)
AI/NLPを活用した認証自動化フレームワークを提案。仕様・テスト計画・拡張情報を解析し、AIモデルでテスト生成・カバレッジ分析・レポート出力を自動化。CSC提案フローを基に、BrekerやACTと連携し、Human-in-the-loop方式で精度向上。認証プロセスの透明化と迅速化を目指す構想を提示。

RISC-V Summit 2025を概観する (全体スケジュール)

ChatGPT に頼んで、RISC-V Summit 2025の全体的なスケジュールを表に変換してもらった。

10/21 (Tue) – Member Day / Committees

セッションタイトル 登壇者 / 所属 分類タグ
Building RISC-V Together: Progress, Process, and Participation Rafael Sene (RISC-V Intl.) KEY / GOV
RISC-V 101 (Additional Registration Required) WS / SW / SYS / ISA
RISC-V and HPC: Recent Successes, Current Challenges and Future Opportunities Nick Brown (EPCC, Univ. of Edinburgh) HPC / SYS / ISA
Performance Analysis SIG GOV / SYS / ISA
Security Horizontal Committee GOV / SEC
Toolchain Features for ISA Evolution Sam Elliott (Qualcomm) ISA / SW
Unprivileged ISA Committee Update Earl Kilian (Aril Inc.) GOV / ISA
FP-SIG GOV / ISA
Profiles SIG GOV / ISA
Supervisor Domains TG / CoVE TG GOV / SYS / SEC
CHERI 101 and Standardization Session Tariq Kurd (Codasip), Helena Handschuh (SCI) SEC / ISA / WS
Profiles SIG & RVM TG Update GOV / ISA
HPC SIG GOV / HPC / SYS
Cryptographic SIG & Crypto TGs GOV / SEC / ISA
Certification Steering Committee Update J. Ball (Qualcomm), B. Zafar (10xEngineers) GOV / SEC / ISA
The Missing Link: Defining a Standard Firmware Interface for RISC-V MCUs Alexey Bodkin (Synopsys) SYS / SW / IOT
SoC Infrastructure HC GOV / SYS
Security HC Update A. Dellow (Qualcomm), R. Sahita (Rivos) GOV / SEC
Technology HC Update J. Duan (Intel), N. Ju (Lyle Tech) GOV / SYS / ISA
Space SIG GOV / AERO
SOC Infrastructure HC Update V. Shanbhogue (Rivos), A. Dellow (Qualcomm) GOV / SYS
Toward a Holistic Compute Platform for Mixed-Criticality RISC-V Platforms S. Pinto (OSYX), T. Roecker (Infineon) SYS / SEC / AUTO / IOT
Memory Tagging TG SEC / SYS
Marketing Committee Meeting A. Moore (RISC-V Intl.) GOV / MKT
CHERI Meeting GOV / SEC / ISA
DTPM SIG GOV / SEC / SYS
Privileged Software HC Annual Update A. Patel & A. Patra (Ventana) GOV / SYS / SEC
RISC-V Documentation: Past Lessons, Present Practices, Future Possibilities B. Traynor & K. Richter (RVI) GOV / SW
AME TG GOV / ISA / SYS
RISC-V CoVE Implementation in Privileged Firmware S. Zhao (Alibaba DAMO) SYS / SEC
RISC-V Unified Database: Past, Present, Future P. Clarke (Ventana), D. Hower (Qualcomm) GOV / ISA / SW
Vector SIG Update J. Moreira (IBM) GOV / ISA
Event Trace TG GOV / SYS / ISA
RISC-V AME Progress Update S. Zhao (Alibaba DAMO) GOV / ISA
The State of the Sail RISC-V Model P. Mundkur (RVI) ISA / SYS
Scalar Efficiency SIG GOV / ISA
Catching Memory Safety Bugs with Hardware Assistance F. Mayer (Google), D. Gupta (Rivos) SEC / SYS
IME TG Update J. Moreira (IBM) GOV / SYS / ISA
RiESCUE-D: Framework for Directed Test Development D. Koshiya (Tenstorrent) ISA / SYS / SEC
Framework for RISCV Certification N. Ju (Lyle Tech) SEC / ISA / SYS
Machine Readable Travel Documents (PQC TG) L. Kosmidis (BSC/UPC) SEC / MKT

10/22 (Wed) – Main Conference Day 1

セッションタイトル 登壇者 / 所属 分類タグ
Keynote: Hardware Innovation to a Thriving RISC-V Ecosystem Jing Yang (Alibaba DAMO) KEY / HPC / AI / SYS
Keynote: Paving the Road to Datacenter-Scale RISC-V Martin Dixon (Google) KEY / HPC
Keynote: RISC-V Outperforming Expectations R. Wawrzyniak (The SHD Group) KEY
Keynote: Securing the Final Frontier: RISC-V in Space and Critical Infrastructure Ted Speers (Microchip) KEY / AERO / SEC
A RISCy Approach to Microprocessor Technology David Patterson (UC Berkeley) KEY / ISA
Demo: XuanTie High-Performance Processors Ren Guo (Alibaba DAMO) EXPO / HPC / SYS
Sponsor Activity: RISC-V With Multi-Threading Available Now! Akena
Demo: LED Cube Using RISC-V-Based PolarFire SoC FPGA Microchip Technology Inc
Networking-Native RISC-V Processor for Datacenter Mark Throndson (MIPS) HPC / SYS
Verifying a Complex RISC-V Processor Using Test Generation and Hardware Emulation Techniques W. Han & A. Sutton (Synopsys) ISA / SYS
RISC-V is Ready for Intelligent General Computing C. Su (Andes) KEY / SYS
Accelerating Software Development for High Performance Chiplet-based Using Virtual Prototype Rae Parnmukh (Tenstorrent) et al. HPC / SYS / ISA
RISC-V Customization After a Tape-out Z. Přikryl (Codasip), G. Baron (Menta) ISA / SYS
ChipIN Centre: Accelerating India's Journey in RISC-V V. Reddy & A. Raveendran (C-DAC) GOV / MKT / SYS
Utilizing RISC-V Trace Standards for Efficient Bugfixing and Profiling D. Griffith (Lauterbach) ISA / SW / SYS
Verifying Out-of-Order RISC-V Vector Extension With Open Source Tools S. Panandikar & A. Kumar (Tenstorrent) ISA / AI / SYS
Automated Certification & Benchmarking for RISC-V Architectures E. Pallares (Quintauris) SEC / ISA
Understanding the RISC-V Extensions for AI J. Simpson (SiFive) AI / ISA
Automating Design Space Exploration Using Advanced Simulation Technologies K. Lingaard & S. Grove (MIPS) SYS / ISA
The Big-endian RISC-V Linux Adventure R. Richmond & L. Hunter (Codethink) SW / SYS
Pushing the Packed SIMD Extension Over the Line: An Update on the Progress of Key RISC-V Extension R. Fuhler (Andes) AI / ISA
Enabling RISC-V Success: From Design to Deployment G. Eide (Siemens) SYS / MKT
Unlocking Potential with TrusteD-V: A RISC-V Rust Software Ecosystem Y. Singh M (Bosch) SW / SEC
Enabling Intelligent Media Playback - Running VLC With Whisper STT and Qwen T2T on a 40-TO Y. Liang (DeepComputing) AI / SW / CONS
GPON Solution Demonstrating VOLTHA Stack on RISC-V P. Mitra (Microchip) SW / IOT / MKT
How NOT To Program an Out-of-order Vector Processor D. Xie & C. Kerchner (Tenstorrent) AI / SW / SYS / ISA
AI-Ready RISC-V Using On-Chip Monitoring for Performance and Reliability at Scale Z. Paz (proteanTecs) et al. AI / SYS
Efficient RISC-V Processor Customization: Minimizing Verification Efforts Z. Přikryl (Codasip) ISA / SYS
Boosting Video Codec with RISC-V Vector Extension J. Qiu (Alibaba DAMO) & J. Qian (ByteDance) AI / SW / CONS
Next-Gen Edge AI with RISC-V Vector Cores for Vision Applications F. Zaruba (Axelera AI) AI / IOT / SYS
RISC-V System-level Certification from Verification Foundations A. Hamid (Breker) SEC / ISA
Nuclei System Technology Releases UX1030H with Full Support for RVA23 P. Chen (Nuclei System Tech) SYS / IOT
Keynote Lightning Round - Moderated by Andrew Moore KEY
Keynote Panel: Linux and RISC-V: Principles for a Winning Partnership B. Ibrahim (RISE), Red Hat, Canonical, SUSE KEY / SW

10/23 (Thu) – Main Conference Day 2

セッションタイトル 登壇者 / 所属 分類タグ
Collaboration Breakfast (Google) EXPO
Keynote: RISC-V State of the Union Krste Asanović (RVI) KEY
Keynote: Designing Processors in the Cloud: How Advanced Emulation and AWS Cloud Infrastructure is Reshaping Silicon Development J. Dahan (AWS) KEY / HPC / SYS / ISA
Keynote: Blockchain, Cryptography, and RISC-V: A New Frontier in Open Development D. Barbosa (LF DT) KEY / SEC
Keynote: Reimaging the Future of High Performance Computing Catalysed by RISC-V N. Brown (EPCC) KEY / HPC
Keynote: RISC-V Opportunities at the Edge of AI M. Shkurti (RVI), E. Doran (Edge AI Foundation) KEY / AI / IOT
Enhancing Embedded Processor Performance THrough Advanced Instruction Fusion C. Basto & R. Ofir (Synopsys) ISA / SYS
Enhancing OP-TEE for RISC-V: Leveraging IOPMP and Enabling RTOS Integration B. Yu (Andes) SEC / SYS
Optimizing Real-Time Application Requirements on ARC-V Processors Leveraging RISC-V Extensions R. Collins (Synopsys) IOT / SYS
Recent Developments in Optimizing Compilers for RISC-V J. Law (Ventana) SW / ISA
The Future of Ibex - A Production-grade, Open Source 32-bit RISC-V Core J. Thomson (lowRISC) IOT / SYS / ISA
Enabling System Standby With RISC-V Platform F. Zhang (Alibaba DAMO) SYS / IOT
PQCP Support for Vector, Future Keccak Extensions M.-J. Saarinen (Tampere Univ.) SEC / ISA
Unlocking 15% More Performance: A Case Study in LLVM Optimization for RISC-V M. Gadelha (Igalia) SW / ISA
Unleash RISC-V Future – Tenstorrent’s High Performance Ascalon RISC-V Processor - Now Available! T. Jones (Tenstorrent) HPC / AI / SYS
Making CHERI Accessible M. v.d. Maas & J. Thomson (lowRISC) SEC / ISA
SBI V3.0: Fuealin gthe NExt Wave of RISC-V System Software Innovation A. Patra (Ventana), A. Patel (Rivos) SYS / SW / ISA
RISC-V Performance Delivered R. Sugumar (Akeana) HPC / SYS
Scaling Data Analytics via Confidential Computing on RISC-V R. Sahita (Rivos) SEC / HPC
The RISC-V Software Ecosystem: for Latest ISA Extensions A. Jones (Ventana) SW / ISA
Mission-Critical AI in Space and Sky: SWaP-Constrained Intelligence With RISC-V-Controlled FPGA SoC D. Ojika (Flapmax), S. Mehrotra (Altera) AI / AERO / SEC
CVA6-CHERI RV64Y Implementation for Commercialization J. Woodruff & A. Joannou (Capabilities Ltd.) SEC / ISA / SYS
Tiling Support in SiFive AI/ML Software Stack for RISC-V Vector-Matrix Extension (VME) M. Hsu (SiFive) AI / SW / ISA
Democratizing Inference on Open-weight Models on RISC-V Manycore Accelerators R. Shaposhnik & T. Dadasheva (Ainekko) AI / HPC / SYS
Unleashing ML Processing Power Through RISC-V Vectors: Applications, Implementations and Verification B. Barker (Breker) AI / ISA
Running WebLLM in the Browser on RISC-V Toward Lightweight, Local AI Experiences K. Giori (DeepComputing) AI / SW / CONS / IOT
Defending Against Transient Execution Attacks: Security Enhancements in XuanTie Microarchitecture X. Qin (Alibaba DAMO) SEC / SYS
The RISE Project: Advancing RISC-V Software L. Henry (Rivos), N. Egge (Google) SW / GOV
Moving to RISC-V Vector: A Practical Journey of AI Operator Optimization G. Xu (RISCstar) AI / ISA
RISC-V for Gaming: Emulating x86 on RISC-V P. Oplopoios (felix86) CONS / SW / SYS
Keynote Panel: Winning the Future of RISC-V Automotive MCU Through Ecosystem Collaboration and Open Standards Vector, Green Hills, Lauterbach, Synopsys, Infineon KEY / AUTO

RISC-V Summit 2025: State of the Union を読み解く

今年のRISC-V Summit 2025でのKrste Asanovic のState of the Union(一般教書演説) を読んでいく。

events.linuxfoundation.org

RISC-Vは今どこにいるのか

RISC-Vは今や安定した成長期に入っている。

RISC-Vは組み込み用途での地位を確立した上で、現在はアプリケーションプロセッサやAIアクセラレータへの本格的な採用が進んでいる。

オープンな標準ISAという特性が、長期的なエコシステム構築の強みとして認識されつつある。

各業界(Vertical)への展開

RISC-Vは今、複数の産業分野ごとに最適化を進めている。

対象はサーバー、宇宙、組み込み、自動車、HPC/AI、Android、DSPなど多岐にわたる。

これらの取り組みは SIG(Special Interest Group)Joint Working Group によって進められており、業界ごとに必要なソフトウェア基盤やライブラリの整備が行われている。

単なる命令セットの標準化を超えて、「業界全体で使えるRISC-Vソリューション」を実現する段階に入っていることが印象的である。

RVAプロファイルの進化

2024年に「RVA23」が正式リリースされ、現在は「RVA23p1」というマイナー更新が進行中である。

1〜2回/年のペースでSupervisor関連オプションを追加しながら安定化を図っている。

次のメジャーバージョンである「RVA30」は数年先を予定しており、現時点ではRVA23の定着に注力している段階である。

また、組み込み向けの「RVMプロファイル」、自動車MCU標準、そして CHERI対応プロファイル なども策定が進んでおり、安全性と信頼性を重視した方向性が明確である。

セキュリティ拡張の進展

近年、RISC-Vの標準化活動で最も活発なのがセキュリティ関連拡張である。

SPMPやIOPMP、Supervisor Domains、RISC-V Worldsなど、多層的な保護機構が設計・標準化されつつある。

特に「Confidential Computing」や「軽量メモリタグ付け」といった仕組みは、クラウドから組み込みまでを視野に入れた設計となっている。

DSP拡張とP命令セット

長年開発が続けられてきた「RISC-V P拡張」が、ようやく安定段階に達した。

これは整数や固定小数点演算を高速化するための拡張であり、100以上の新命令が定義されている。

今後はベクトルレジスタ(vレジスタ)を対象としたベクタDSP拡張も計画されており、FFTや複素数演算などのサポートが検討されている。AI処理と信号処理の融合を意識した設計である。

Long Instructions(>32b)への対応

RISC-Vは当初から可変長命令を採用しており、命令エンコーディングの拡張性を確保している。

今後は32ビットを超える「ロングインストラクション」の正式化が進む見込みである。

これは命令枯渇に直面する他ISA(ARM, x86など)に対して、RISC-Vがいかに長期的な進化を前提とした設計であるかを示すものといえる。

RISC-VとAI:スカラ+ベクタ+マトリクス

AI時代に向けて、RISC-Vはスカラ・ベクタ・マトリクス演算を統合的に扱えるアーキテクチャを志向している。

単一のRISC-VコアでAI処理と通常処理を両立できるため、レイテンシ低減とハードウェア効率の向上が期待できる。

さらに、新しいAI向けデータ型(BF16、FP8など)を取り込み、低精度演算の正規化(bulk normalization)をISAレベルで扱う提案も進行中である。

マトリクス拡張の多様なアプローチ

マトリクス演算をどのように命令体系へ組み込むかについて、RISC-Vコミュニティでは以下の4つの方向が検討されている。

  1. Dot-Product型:小規模実装向け。DSP用途にも適する。
  2. Matrix-in-Vector型:ベクトル命令を拡張してマトリクスを表現。
  3. Vector-Matrix型:既存RVVにマトリクス状態を追加。
  4. Separate-Matrix型:完全独立のマトリクスISAを定義。

まとめ:次のステージへ

「RISC-Vの基盤は整った。これからは各業界での完成度を高めるフェーズに入る。」

SPEC2006/SPEC2017をRISC-V環境で実行するためのリポジトリを構築する (SimPoint / BBVの並列取得)

BBVは、プログラムの実行特性を分析するための情報で、SimPointでの計算に利用する。QEMUのBBVプラグインを使用してBBVデータを収集する。

BBVプラグインの設定

BBV_PLUGIN := $(QEMU_BUILD_DIR)/contrib/plugins/libbbv.so
BBV_DIR := bbv_results

BBV収集の並列実行

run_bbv_<benchmark> ターゲットでは、通常実行と同様に並列化を実装している:

# Run all benchmarks with BBV collection
run_bbv: $(RUN_BBV_TARGETS)

$(RUN_BBV_TARGETS): benchmark=$(subst run_bbv_,,$@)
$(RUN_BBV_TARGETS): run_dir=$(SPEC_ROOT)/benchspec/CPU2006/$(benchmark)/run/run_base_ref_gcc.0000
$(RUN_BBV_TARGETS): bbv_output_dir=$(BBV_DIR)/$(benchmark)
$(RUN_BBV_TARGETS): output_dir=$(RESULT_DIR)/$(benchmark)_bbv
$(RUN_BBV_TARGETS):
    @echo "=== Preparing BBV output directory for $(benchmark) ==="
    @mkdir -p $(bbv_output_dir)
    @mkdir -p $(output_dir)
    @subcmds=$$(cd $(run_dir) && $(SPECINVOKE) -n 2>&1 | grep -v "^#" | grep -v "^timer" | grep -v "^$$"); \
    num_subcmds=$$(echo "$$subcmds" | wc -l); \
    echo "=== Subcommands for $(benchmark) with BBV ($$num_subcmds commands)"; \
    bbv_dir_abs=$$(cd $(bbv_output_dir) && pwd); \
    output_dir_abs=$$(cd $(output_dir) && pwd); \
    export bbv_dir_abs output_dir_abs; \
    echo "$$subcmds" | nl -nln | \
    parallel --line-buffer --colsep '\t' -j $$num_subcmds \
    'cmd_clean=$$(echo {2} | sed "s/ [0-9]*>>* *[^ ]*//g"); \
    bbv_file="$$bbv_dir_abs/bbv_{1}.out"; \
    output_file="$$output_dir_abs/output_{1}.txt"; \
    cmd_with_bbv=$$(echo $$cmd_clean | sed "s|$(QEMU)|$(QEMU) -plugin $(BBV_PLUGIN),outfile=$$bbv_file|"); \
    echo "[$(benchmark) BBV {1}/$$num_subcmds] Starting..."; \
    (cd $(run_dir) && eval $$cmd_with_bbv > $$output_file 2>&1) && \
    echo "[$(benchmark) BBV {1}/$$num_subcmds] Completed - BBV saved to $$bbv_file" || \
    echo "[$(benchmark) BBV {1}/$$num_subcmds] Failed"'; \
    echo "=== Completed all $(benchmark) BBV collection ==="

通常実行との違いは、QEMUコマンドにBBVプラグインを追加している点:

cmd_with_bbv=$$(echo $$cmd_clean | sed "s|$(QEMU)|$(QEMU) -plugin $(BBV_PLUGIN),outfile=$$bbv_file|")

これにより、各サブコマンドごとに個別のBBVファイルが生成される:

bbv_results/
├── 400.perlbench/
│   ├── bbv_1.out.0.bb
│   ├── bbv_2.out.0.bb
│   └── bbv_3.out.0.bb
├── 401.bzip2/
│   ├── bbv_1.out.0.bb
│   └── bbv_2.out.0.bb
└── ...

SimPointの並列実行

SimPointは、BBVファイルを解析して代表的な実行ポイントを抽出するツール。各BBVファイルに対して独立に実行できるため、並列化が可能。

# Run SimPoint analysis on all benchmarks
run_simpoint: $(RUN_SIMPOINT_TARGETS)

$(RUN_SIMPOINT_TARGETS): benchmark=$(subst run_simpoint_,,$@)
$(RUN_SIMPOINT_TARGETS): bbv_output_dir=$(BBV_DIR)/$(benchmark)
$(RUN_SIMPOINT_TARGETS): simpoint_output_dir=$(SIMPOINT_DIR)/$(benchmark)
$(RUN_SIMPOINT_TARGETS):
    @echo "=== Running SimPoint analysis for $(benchmark) ==="
    @mkdir -p $(simpoint_output_dir)
    @if [ ! -d "$(bbv_output_dir)" ]; then \
        echo "Error: BBV directory $(bbv_output_dir) not found. Please run 'make run_bbv_$(benchmark)' first."; \
        exit 1; \
    fi; \
    bbv_files=$$(ls $(bbv_output_dir)/bbv_*.out.*.bb 2>/dev/null); \
    if [ -z "$$bbv_files" ]; then \
        echo "Error: No BBV files found in $(bbv_output_dir). Please run 'make run_bbv_$(benchmark)' first."; \
        exit 1; \
    fi; \
    echo "$$bbv_files" | \
    parallel --line-buffer -j $$(nproc) \
    'bbv_file={}; \
    base_name=$$(basename $$bbv_file .bb); \
    simpoint_out="$(simpoint_output_dir)/$${base_name}.simpoints"; \
    weights_out="$(simpoint_output_dir)/$${base_name}.weights"; \
    echo "[$(benchmark)] Processing $$bbv_file..."; \
    $(SIMPOINT) -loadFVFile $$bbv_file -saveSimpoints $$simpoint_out -saveSimpointWeights $$weights_out -maxK $(SIMPOINT_K) > /dev/null 2>&1; \
    if [ -f "$$simpoint_out" ]; then \
        echo "[$(benchmark)] SimPoint completed: $$simpoint_out (weights: $$weights_out)"; \
    else \
        echo "[$(benchmark)] SimPoint failed for $$bbv_file"; \
    fi'; \
    echo "=== Completed SimPoint analysis for $(benchmark) ==="

ここでは、parallel -j $$(nproc) を使用して、CPUコア数分だけ並列実行している。