Programação em GPU

O artefato GPU versionado, a sintaxe verificada e o status atestado.

Programação em GPU

O Sounio agora tem dois perfis versionados neste checkout:

  • souc-linux-x86_64-jit: perfil JIT padrão
  • souc-linux-x86_64-gpu: perfil público de GPU

Verificado hoje

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

Isso prova hoje:

  • GPU codegen está ativado no artefato GPU versionado.
  • O caminho público para emitir PTX é build --backend gpu.
  • kernel fn, with GPU, GPU.launch e GPU.sync são aceitos pelo perfil GPU versionado.

Superfície pública atual

Parte pública e verificada:

  • kernel fn
  • with GPU
  • perform GPU.launch(...)
  • perform GPU.sync()
  • Emissão PTX via build --backend gpu

Ainda não faz parte da superfície pública versionada:

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

Evidência de backend

Os artefatos fortes estão em artifacts/omega/:

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

Lanes de computação atestados hoje:

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