Summary
Replace the hard-coded NVVM chip sm_70 with a user-selectable architecture on warpforthc, warpforth-opt pipeline options, and the test harness.
Motivation
buildWarpForthPipeline currently sets:
nvvmOptions.chip = "sm_70"; // Volta
That freezes codegen at Volta. Newer features (tensor cores shapes, async copy, TMA-oriented paths, better libdevice matching) need sm_80 / sm_89 / sm_90 (and future chips). Hard-coding also blocks honest performance work for #11 (MMA) and modern hardware used on Vast.ai.
Proposed CLI
warpforthc kernel.forth -o kernel.ptx --arch sm_80
warpforthc kernel.forth --arch=sm_90
Defaults: keep sm_70 for compatibility, or document a new default if tests allow.
Also expose the same option on:
warpforth-opt --warpforth-pipeline (pass pipeline options)- GPU test harness / runner so remote GPUs compile for a compatible arch
Acceptance criteria
Related
Summary
Replace the hard-coded NVVM chip
sm_70with a user-selectable architecture onwarpforthc,warpforth-optpipeline options, and the test harness.Motivation
buildWarpForthPipelinecurrently sets:That freezes codegen at Volta. Newer features (tensor cores shapes, async copy, TMA-oriented paths, better libdevice matching) need
sm_80/sm_89/sm_90(and future chips). Hard-coding also blocks honest performance work for #11 (MMA) and modern hardware used on Vast.ai.Proposed CLI
Defaults: keep
sm_70for compatibility, or document a new default if tests allow.Also expose the same option on:
warpforth-opt --warpforth-pipeline(pass pipeline options)Acceptance criteria
--arch(or equivalent) onwarpforthcsetsGpuNVVMAttachTargetchipRelated