Skip to content

Kokkos Tools Issues

Vivek Kale edited this page May 17, 2024 · 4 revisions

Submitting an Issue for Kokkos Tools (Identifying a Problem)

A simple way to contribute is to tell the problems with this software. You can do this into ways (trying them in order):

  1. Send a message on the slack channel 'general' in the workspace https://kokkosteam.slack.com to discuss the problem you are having or have noticed and seeing what can be done to fix this.
  2. Put up a GitHub issue at Kokkos Tools repo in the Issues tab via /https://github.com/kokkos/kokkos-tools/issues/ if the problem can't be fixed through troubleshooting and it is a bug or enhancement needed.

Please make sure that each Github defines a single self-contained problem. For example, if you find that a Kokkos Tool is missing key profile information like memory high water mark and that the memory usage and high water mark needs to be printed in GB rather than MB: create one GitHub Issue for including the memory high water mark in the tool and another GitHub Issue to print the memory measurements in Gigabytes (GB) instead of Megabytes (MB).

Submitting or Contributing to a PR to Kokkos Tools (Fixing the Problem)

Each Github Issue of Kokkos Tools should (eventually) have a PR associated with it. When submitting a PR for Kokkos Tools repo, explain the problem you are solving and your approach to it, with the text 'Fixes PR #42' if the Kokkos Tools PR is #42.

Important: A PR to the Kokkos tools repo is always against the develop branch.

Each PR needs at least one reviewer (and in some cases two) from the Kokkos Tools developers team for it to be merged. (This process of reviewing and finally approving can take on the order of weeks, but the developers will assign your PR to reviewers within 2-3 days and start reviewing it by then).

You should also run clang-format-8 on your local machine before submitting a PR in order for the CI checks to pass.

Building your own Tool

Please include a Makefile in your Kokkos Tools connector that you develop, and modify the CMakeLists.txt file to build your connector. In your connector, you should have a file .clang-format, in addition to checking that your connector works. If you have a question on which subdirectory the tool should go, (debugging, profiling, or common) please reach out to [email protected] or [email protected], or include a comment/question in your PR on it.