QuixiCore ROCm is one native backend in the QuixiCore family. Contributions should preserve the shared QuixiCore contract while using ROCm-native implementation techniques.
- Implementation code belongs in this repository, not in the QuixiCore umbrella repository and not in another backend.
- Shared semantics belong in QuixiAI/QuixiCore.
- ROCm-specific tuning, HIP, CK, rocBLAS, rocWMMA, RCCL, profiling, and Docker workflows belong in this repository.
- Put source under
kernels/<family>/<operation>/when adding new work. - If touching legacy ROCm directories, update toward the migration map in
docs/repository-structure.md. - Add or update correctness coverage under
tests/correctness/<family>/<operation>/or the current legacy test location. - Add or update benchmark coverage under
perf/or the currentanalysis/workflow. - Update
.quixicore/kernels.yaml. - Update
.quixicore/quant-formats.yamlwhen quant layouts, packing, or supported formats change. - Document backend-specific behavior in the operation README or relevant docs.
Use the common entrypoints when possible:
scripts/configure
scripts/build
scripts/test
scripts/bench
scripts/coverage-reportFor legacy ROCm paths, per-kernel Makefiles and documented Docker flows are still valid. Mention exactly which commands, ROCm version, container, and GPU target you used in the pull request.
- Kernel semantics match the QuixiCore contract or document a ROCm-only extension.
- Correctness tests cover the changed behavior.
- Benchmarks cover the relevant shapes or explain why benchmark coverage is not applicable yet.
.quixicore/kernels.yamlreflects implementation status..quixicore/quant-formats.yamlreflects quant format support.- New source follows
docs/repository-structure.md.