Files
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

2.2 KiB

Contributing

Philosophy

AMD welcomes contributions from the community. Whether those contributions are bug reports, bug fixes, documentation additions, performance notes, or other improvements, we value collaboration with our users. We can build better solutions together.

Submitting a Pull Request

To contribute changes to rocSOLVER, open a pull request targeting the develop branch. Pull requests will be tested and reviewed by the AMD development team. AMD may request changes or modify the submission before acceptance.

Interface requirements

The public interface must be:

  • C99 compatible
  • Source and binary compatible with previous releases
  • Fully documented with Doxygen and Sphinx

All identifiers in the public headers must be prefixed with rocblas, ROCBLAS, rocsolver, or ROCSOLVER.

All user-visible symbols must be prefixed with rocblas or rocsolver.

Style guide

In general, follow the style of the surrounding code. All code is auto-formatted using clang-format. To apply the rocsolver formatting, run clang-format -i -style=file <files> on any files you've changed. You can install git hooks to do this automatically upon commit by running scripts/install-hooks --get-clang-format. If you find you'd rather not use the hooks, they can be removed using scripts/uninstall-hooks.

Tests

To run the rocSOLVER test suite, first build the rocSOLVER test client following the instructions in Building and Installation. Then, run the rocsolver-test binary. For a typical build, the test binary will be found at ./build/release/clients/staging/rocsolver-test.

The full test suite is quite large and may take a long time to complete, so passing the --gtest_filter=<pattern> option to rocsolver-test may be useful during development. A fast subset of tests can be run with --gtest_filter='checkin*', while the extended tests can be run with --gtest_filter='daily*'.

Rejected contributions

Unfortunately, sometimes a contribution cannot be accepted. The rationale for a decision may or may not be disclosed.