vulkan-matmul / CONTRIBUTING.md
elyanlabs's picture
Source snapshot of github.com/Scottcjn/vulkan-matmul@036b448
35d65e4 verified
|
Raw History Blame Contribute Delete
2.53 kB

Contributing to vulkan-matmul

Thanks for contributing to vulkan-matmul.

This repository is a focused GPU offload prototype for POWER8 systems, so the most useful contributions are usually narrow improvements to the Vulkan / ROCm server code, build scripts, or supporting documentation.

Good Contribution Targets

  • Fix correctness or stability issues in server.cpp or rocm_matmul_server.cpp
  • Improve POWER8-specific build behavior in CMakeLists.txt or build_power8.sh
  • Improve ROCm build coverage in rocm_build.sh
  • Tighten Vulkan / ROCm integration notes in BCOS.md
  • Improve small test or benchmarking helpers like test_client.py or vk_bench.py

Before You Open a PR

  1. Read BCOS.md and the build scripts to understand the current scope
  2. Keep the diff small and tied to one clear problem
  3. Avoid unrelated refactors across the POWER8 and ROCm paths in the same PR
  4. If you change behavior, update the related usage notes or scripts in the same branch

Development Notes

  • server.cpp is the Vulkan server entry point
  • rocm_matmul_server.cpp is the ROCm / rocBLAS server path
  • build_power8.sh is the quickest reference for Vulkan builds on POWER8
  • rocm_build.sh is the quickest reference for HIP / rocBLAS builds
  • powerpc/ contains the POWER8-oriented support code and integration headers

Suggested Validation

Run the lightest checks that match your change:

git diff --check
python3 -m py_compile test_client.py vk_bench.py
bash -n build_power8.sh rocm_build.sh
cmake -S . -B build

If your machine does not have Vulkan, ROCm, or POWER8-specific tooling available, note that clearly in the PR and list the checks you were still able to run.

Pull Request Checklist

  • Fork the repository and create a topic branch
  • Explain the problem being fixed or the workflow being improved
  • Include the exact validation commands you ran
  • Link the related issue or bounty in the PR body when applicable
  • Keep generated files and unrelated formatting noise out of the diff

Documentation Expectations

When a change affects one of these areas, update the matching file in the same PR:

  • build flags or configure behavior -> CMakeLists.txt or the relevant build script
  • runtime usage or port defaults -> BCOS.md
  • client-side invocation or smoke testing -> test_client.py
  • POWER8 integration details -> files under powerpc/

License

By contributing, you agree that your contributions will be released under the repository's existing license terms.