Problem
Two initialization boundaries currently discard errors:
setup.py runs git submodule update --init cutlass without checking its exit status and without setting the working directory to the repository root. If Git fails, installation continues until compilation reports a less actionable missing-header error.
- The forward launcher discards the return values of both
cudaFuncSetAttribute calls used to configure dynamic shared memory.
The documented clone and submodule workflow itself works when initialization succeeds. The problem is that failures are reported later and at the wrong boundary.
Desired outcome
- Run CUTLASS initialization from the repository root.
- Stop immediately on a missing Git executable or nonzero Git exit.
- Include enough context in the error for users to retry the documented submodule command.
- Propagate
cudaFuncSetAttribute errors through the project's PyTorch/CUDA error mechanism.
- Preserve successful setup behavior, architecture selection, launch dimensions, and shared-memory sizes.
Problem
Two initialization boundaries currently discard errors:
setup.pyrunsgit submodule update --init cutlasswithout checking its exit status and without setting the working directory to the repository root. If Git fails, installation continues until compilation reports a less actionable missing-header error.cudaFuncSetAttributecalls used to configure dynamic shared memory.The documented clone and submodule workflow itself works when initialization succeeds. The problem is that failures are reported later and at the wrong boundary.
Desired outcome
cudaFuncSetAttributeerrors through the project's PyTorch/CUDA error mechanism.