Skip to content

Configurable GPU architecture target (sm_XX) for warpforthc / pipeline #63

Description

@tetsuo-cpp

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

  • --arch (or equivalent) on warpforthc sets GpuNVVMAttachTarget chip
  • Invalid arch names produce a clear error
  • Document supported/tested arches in README
  • CI still green on default arch
  • GPU tests can pass arch through to the compiler

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions