kokkos / kokkos

Kokkos C++ Performance Portability Programming Ecosystem: The Programming Model - Parallel Execution and Memory Abstraction
https://kokkos.org
Other
1.85k stars 421 forks source link

Kokkos ISO 9001 Audit #6291

Closed crtrott closed 1 year ago

crtrott commented 1 year ago

This issue serves as a central hub for supporting information of a Kokkos ISO 9001 Audit.

Kokkos Overview

Kokkos Core is part of the Kokkos Ecosystem. The Ecosystem consists of a set of software technologies that together provide a performance portability solution for scientific and engineering codes.

Kokkos Core is the foundation of the EcoSystem providing the Programming Model.

Thus Kokkos is a tool to help implement applications, not an application with an end-outcome in itself.

The primary goal of the Kokkos Ecosystem is to insulate domain experts who write applications and libraries from a diversifying and ever-changing computing hardware landscape.

Ideally a Kokkos user would not need to know anything about different hardware platforms, except which Kokkos configure option to set, and could then deploy their application in a way that it runs correctly and performs well.

Kokkos Requirements and Planning

With the goal being to insulate Kokkos users from the diversifying hardware platforms, the primary requirement for the Kokkos team is to anticipate the needs of customers ahead of time.

That means the Kokkos team tracks new hardware and software stack developments on behalf of its customers, and prepares Kokkos for them before the customer needs to deploy on a new system.

The goal is for Kokkos to be ready on day one of a customer's hardware deployment.

As a consequence, the vast majority of specific feature and development tasks are initiated by the Kokkos team itself, and not a reaction to customer requests. The primary customer initiated tasks are related to bug reports.

Relevant documentation:

Development Process

Kokkos exercises test driven development, i.e. every feature has to be tested to ensure correct syntactic and semantic behavior. No feature is merged without associated tests.

Requirements for features are tracked in GitHub issues and Pull Request discussions.

Relevant documentation:

Customer Interaction

The Kokkos team interacts with customers via Slack and GitHub issues. The slack channel has a white list for a wide range of institutional email domains (Universities, government laboratories, industry users of Kokkos), with new ones being added upon request. Individual users can also request access.

Kokkos provides documentation at https://kokkos.github.io

crtrott commented 1 year ago

Examples for issues etc.