Programación en GPU

El artefacto GPU versionado, la sintaxis verificada y el estado attested.

Programación en GPU

Sounio ahora tiene dos perfiles versionados en este checkout:

  • souc-linux-x86_64-jit: perfil JIT por defecto
  • souc-linux-x86_64-gpu: perfil público para GPU

Verificado hoy

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

Eso prueba hoy:

  • GPU codegen está activado en el artefacto GPU versionado.
  • La ruta pública para emitir PTX es build --backend gpu.
  • kernel fn, with GPU, GPU.launch y GPU.sync son aceptados por el perfil GPU versionado.

Superficie pública actual

Parte pública y verificada:

  • kernel fn
  • with GPU
  • perform GPU.launch(...)
  • perform GPU.sync()
  • Emisión PTX mediante build --backend gpu

Todavía no forma parte de la superficie pública versionada:

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

Evidencia de backend

Los artefactos fuertes viven en 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 cómputo attestados hoy:

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