Requirements, Issues and Feedback#

Kokkos manages its customer interactions primarily via Kokkos Issues and the KokkosTeam Slack channel. The Slack channel is used for informal questions, requests and feedback. If the slack communication requires tracking, (especially if it requires code changes to Kokkos) a issue will be opened. Issues must be opened for bug reports, enhancement requests and feature requests. Prioritization of issues is performed during the weekly Kokkos developer meeting.


Customer requirements for new capabilities and improvements for existing capabilities are tracked via issues. Issues are assigned to a milestone roughly corresponding with a release cycle based on prioritization by the Kokkos team and after considering the customer needs. They are also assigned to a Kokkos developer, who will be responsible to communicate with the customer to determine the details of the requirement. To successfully satisfy a new requirement it must be implemented, appropriate unit and performance tests must be written and the customer must agree his needs are met.

Reporting an Issue#

Problems with Kokkos both in correctness and performance are tracked via bug issues and sometimes via enhancement requests. The Kokkos team will assign a developer as response partner, and track progress on a resolution in the github issue. After assessing the severity and expected developer time the issue will be slotted into the priority list and assigned to a milestone. Bug reports require implementation of a unit test which can reproduce the issue prior to applying a fix. This shall be documented in the issue.


Feedback can be provided on the slack channel or in issues. The Kokkos team will assess whether the feedback requires actions for improvement on the Kokkos side and if so create the corresponding github issues. Furthermore every two years a Kokkos usergroup meeting will be organized to provide customers with a platform to discuss Kokkos issues, provide feedback and contribute to the priority list of the Kokkos project.