GPU プログラミング

チェックイン済み GPU artifact、検証済み構文、attested 状態。

GPU プログラミング

このリポジトリの現在のスナップショットには、2つのチェックイン済み compiler profile があります。

  • souc-linux-x86_64-jit: 既定の JIT profile
  • souc-linux-x86_64-gpu: 公開 GPU profile

現在確認済みの内容

export SOUC_GPU_BIN="$(pwd)/artifacts/omega/souc-bin/souc-linux-x86_64-gpu"
export SOUNIO_STDLIB_PATH="$(pwd)/stdlib"

"$SOUC_GPU_BIN" info
"$SOUC_GPU_BIN" check examples/gpu.sio
"$SOUC_GPU_BIN" check tests/run-pass/gpu_launch_surface.sio
"$SOUC_GPU_BIN" build examples/kernel_matmul.sio --backend gpu -o /tmp/kernel_matmul.ptx

この時点で確認できる事実:

  • チェックイン済み GPU artifact では GPU codegen が有効です。
  • 公開 PTX 出力経路は build --backend gpu です。
  • kernel fnwith GPUGPU.launchGPU.sync はその GPU profile で受理されます。

現在の公開 surface

現在公開かつ検証済み:

  • kernel fn
  • with GPU
  • perform GPU.launch(...)
  • perform GPU.sync()
  • build --backend gpu による PTX 出力

まだチェックイン済み公開 surface ではないもの:

  • gpu.thread_id.*
  • gpu.block_id.*
  • gpu.block_dim.*
  • gpu.alloc<T>(...)

Backend の証拠

強い証拠は artifacts/omega/ にあります:

  • gpu_codegen_parity.v1.json
  • gpu_binary_attestation.v1.json
  • gpu_runtime_attest_gate.v1.json
  • gpu_public_contract.v1.json

現在 attested な compute lanes:

  • CUDA: cuda-sm80
  • ROCm: rocm-gfx942