Skip to content

Commit 984e910

Browse files
authored
[Docs] Introduce backend maintainer roles (#674)
1 parent 5c7e1e7 commit 984e910

3 files changed

Lines changed: 92 additions & 12 deletions

File tree

.github/CODEOWNERS

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,13 @@
3737
/include/oneapi/math/blas.hxx @uxlfoundation/onemath-blas-write
3838
/include/oneapi/math/bfloat16.hpp @uxlfoundation/onemath-blas-write
3939
/include/oneapi/mkl/blas.hpp @uxlfoundation/onemath-blas-write
40+
/src/blas/backends/armpl/ @uxlfoundation/onemath-cpu-aarch64 @uxlfoundation/onemath-blas-write
41+
/src/blas/backends/cublas/ @uxlfoundation/onemath-gpu-nvidia @uxlfoundation/onemath-blas-write
42+
/src/blas/backends/mkl_common/ @uxlfoundation/onemath-cpu-x64 @uxlfoundation/onemath-gpu-intel @uxlfoundation/onemath-blas-write
43+
/src/blas/backends/mklcpu/ @uxlfoundation/onemath-cpu-x64 @uxlfoundation/onemath-blas-write
44+
/src/blas/backends/mklgpu/ @uxlfoundation/onemath-gpu-intel @uxlfoundation/onemath-blas-write
45+
/src/blas/backends/netlib/ @uxlfoundation/onemath-cpu-x64 @uxlfoundation/onemath-blas-write
46+
/src/blas/backends/rocblas/ @uxlfoundation/onemath-gpu-amd @uxlfoundation/onemath-blas-write
4047
/src/blas/ @uxlfoundation/onemath-blas-write
4148
/tests/unit_tests/blas/ @uxlfoundation/onemath-blas-write
4249

@@ -45,6 +52,10 @@
4552
/include/oneapi/math/dft/ @uxlfoundation/onemath-dft-write
4653
/include/oneapi/math/dft.hpp @uxlfoundation/onemath-dft-write
4754
/include/oneapi/mkl/dft.hpp @uxlfoundation/onemath-dft-write
55+
/src/dft/backends/cufft/ @uxlfoundation/onemath-gpu-nvidia @uxlfoundation/onemath-dft-write
56+
/src/dft/backends/mklcpu/ @uxlfoundation/onemath-cpu-x64 @uxlfoundation/onemath-dft-write
57+
/src/dft/backends/mklgpu/ @uxlfoundation/onemath-gpu-intel @uxlfoundation/onemath-dft-write
58+
/src/dft/backends/rocfft/ @uxlfoundation/onemath-gpu-amd @uxlfoundation/onemath-dft-write
4859
/src/dft/ @uxlfoundation/onemath-dft-write
4960
/tests/unit_tests/dft/ @uxlfoundation/onemath-dft-write
5061

@@ -53,6 +64,12 @@
5364
/include/oneapi/math/lapack/ @uxlfoundation/onemath-lapack-write
5465
/include/oneapi/math/lapack.hpp @uxlfoundation/onemath-lapack-write
5566
/include/oneapi/mkl/lapack.hpp @uxlfoundation/onemath-lapack-write
67+
/src/lapack/backends/armpl/ @uxlfoundation/onemath-cpu-aarch64 @uxlfoundation/onemath-lapack-write
68+
/src/lapack/backends/cusolver/ @uxlfoundation/onemath-gpu-nvidia @uxlfoundation/onemath-lapack-write
69+
/src/lapack/backends/mkl_common/ @uxlfoundation/onemath-cpu-x64 @uxlfoundation/onemath-gpu-intel @uxlfoundation/onemath-lapack-write
70+
/src/lapack/backends/mklcpu/ @uxlfoundation/onemath-cpu-x64 @uxlfoundation/onemath-lapack-write
71+
/src/lapack/backends/mklgpu/ @uxlfoundation/onemath-gpu-intel @uxlfoundation/onemath-lapack-write
72+
/src/lapack/backends/rocsolver/ @uxlfoundation/onemath-gpu-amd @uxlfoundation/onemath-lapack-write
5673
/src/lapack/ @uxlfoundation/onemath-lapack-write
5774
/tests/unit_tests/lapack/ @uxlfoundation/onemath-lapack-write
5875

@@ -62,6 +79,11 @@
6279
/include/oneapi/math/rng.hpp @uxlfoundation/onemath-rng-write
6380
/include/oneapi/mkl/rng.hpp @uxlfoundation/onemath-rng-write
6481
/include/oneapi/mkl/rng/device.hpp @uxlfoundation/onemath-rng-write
82+
/src/rng/backends/armpl/ @uxlfoundation/onemath-cpu-aarch64 @uxlfoundation/onemath-rng-write
83+
/src/rng/backends/curand/ @uxlfoundation/onemath-gpu-nvidia @uxlfoundation/onemath-rng-write
84+
/src/rng/backends/mklcpu/ @uxlfoundation/onemath-cpu-x64 @uxlfoundation/onemath-rng-write
85+
/src/rng/backends/mklgpu/ @uxlfoundation/onemath-gpu-intel @uxlfoundation/onemath-rng-write
86+
/src/rng/backends/rocrand/ @uxlfoundation/onemath-gpu-amd @uxlfoundation/onemath-rng-write
6587
/src/rng/ @uxlfoundation/onemath-rng-write
6688
/tests/unit_tests/rng/ @uxlfoundation/onemath-rng-write
6789

@@ -70,6 +92,11 @@
7092
/include/oneapi/math/sparse_blas/ @uxlfoundation/onemath-sparse-write
7193
/include/oneapi/math/sparse_blas.hpp @uxlfoundation/onemath-sparse-write
7294
/include/oneapi/mkl/sparse_blas.hpp @uxlfoundation/onemath-sparse-write
95+
/src/sparse_blas/backends/cusparse/ @uxlfoundation/onemath-gpu-nvidia @uxlfoundation/onemath-sparse-write
96+
/src/sparse_blas/backends/mkl_common/ @uxlfoundation/onemath-cpu-x64 @uxlfoundation/onemath-gpu-intel @uxlfoundation/onemath-sparse-write
97+
/src/sparse_blas/backends/mklcpu/ @uxlfoundation/onemath-cpu-x64 @uxlfoundation/onemath-sparse-write
98+
/src/sparse_blas/backends/mklgpu/ @uxlfoundation/onemath-gpu-intel @uxlfoundation/onemath-sparse-write
99+
/src/sparse_blas/backends/rocsparse/ @uxlfoundation/onemath-gpu-amd @uxlfoundation/onemath-sparse-write
73100
/src/sparse_blas/ @uxlfoundation/onemath-sparse-write
74101
/tests/unit_tests/sparse_blas/ @uxlfoundation/onemath-sparse-write
75102

CONTRIBUTING.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ For GitHub questions, issues, RFCs, or PRs you can contact maintainers via one o
7272
| @uxlfoundation/onemath-rng-write | oneMath RNG maintainers |
7373
| @uxlfoundation/onemath-sparse-write | oneMath Sparse Algebra maintainers |
7474
| @uxlfoundation/onemath-vm-write | oneMath Vector Math maintainers |
75+
| @uxlfoundation/onemath-cpu-aarch64 | AArch64 CPU maintainers |
76+
| @uxlfoundation/onemath-cpu-x64 | x86 CPU maintainers |
77+
| @uxlfoundation/onemath-gpu-amd | AMD GPU maintainers |
78+
| @uxlfoundation/onemath-gpu-intel | Intel GPU maintainers |
79+
| @uxlfoundation/onemath-gpu-nvidia | NVIDIA GPU maintainers |
7580

7681
Please read [MAINTAINERS page](MAINTAINERS.md) for more information about maintainer roles, responsibilities, and how to become one of them.
7782

MAINTAINERS.md

Lines changed: 60 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ This document defines roles in oneMath project.
44

55
# Roles and responsibilities
66

7-
oneMath project defines three main roles:
7+
oneMath project defines four main roles:
88
* [Contributor](#contributor)
99
* [Domain maintainer](#domain-maintainer)
10+
* [Backend maintainer](#backend-maintainer)
1011
* [Architecture maintainer](#architecture-maintainer)
1112

1213
These roles are merit based. Refer to the corresponding section for specific
@@ -44,7 +45,7 @@ Responsibilities:
4445
* Follow and enforce the project [contributing guidelines](CONTRIBUTING.md).
4546
* Co-own with other domain maintainers a specific domain, including contributing
4647
bug fixes, implementing features, and answering domain specific questions
47-
in [#onemkl](https://uxlfoundation.slack.com/archives/onemkl) Slack channel.
48+
in [#onemath](https://uxlfoundation.slack.com/archives/onemath) Slack channel.
4849
* Review pull requests in their specific domain.
4950
* Monitor testing results and flag issues in their specific areas of
5051
responsibility.
@@ -66,7 +67,7 @@ Privileges:
6667

6768
The process of becoming a Domain maintainer is:
6869
1. A Contributor requests to join corresponding Domain maintainer GitHub team.
69-
2. At least one specific Domain maintainers approve the request.
70+
2. At least one specific Domain maintainer approves the request.
7071

7172
### List of GitHub teams for Domain maintainers
7273

@@ -79,6 +80,52 @@ The process of becoming a Domain maintainer is:
7980
| @uxlfoundation/onemath-sparse-write | oneMath Sparse Algebra maintainers |
8081
| @uxlfoundation/onemath-vm-write | oneMath Vector Math maintainers |
8182

83+
## Backend Maintainer
84+
85+
Backend maintainer has responsibility for a specific backend in the project.
86+
Backend maintainers are collectively responsible for developing and maintaining their backends,
87+
including reviewing certain changes to their backend and indicating
88+
whether those changes are ready to merge. They have a track record of
89+
contribution and review in the project.
90+
91+
Responsibilities:
92+
* Follow the [Code of Conduct](CODE_OF_CONDUCT.md).
93+
* Follow and enforce the project [contributing guidelines](CONTRIBUTING.md).
94+
* Co-own with other backend maintainers a specific backend, including contributing
95+
bug fixes, implementing features, and answering backend specific questions
96+
in [#onemath](https://uxlfoundation.slack.com/archives/onemath) Slack channel.
97+
* Review pull requests pertaining to their specific backend.
98+
* Monitor testing results and flag issues in their specific areas of
99+
responsibility.
100+
* Support and guide Contributors.
101+
102+
Requirements:
103+
* Experience as Contributor in the specific backend for at least 6 months.
104+
* Track record of accepted code contributions to a specific backend.
105+
* Track record of contributions to the code review process.
106+
* Demonstrated in-depth knowledge of the specific backend.
107+
* Commits to being responsible for that specific backend.
108+
109+
Privileges:
110+
* PR approval counts towards approval requirements for a specific backend.
111+
* Can promote fully approved Pull Requests to the `develop` branch.
112+
* Can recommend Contributors to become Backend maintainers.
113+
* Eligible to become an Architecture maintainer.
114+
115+
The process of becoming a Backend maintainer is:
116+
1. A Contributor requests to join corresponding Backend maintainer GitHub team.
117+
2. At least one specific Backend maintainer approves the request.
118+
119+
### List of GitHub teams for Backend maintainers
120+
121+
| GitHub team name | Backend maintainers |
122+
:-----------|:------------|
123+
| @uxlfoundation/onemath-cpu-aarch64 | AArch64 CPU maintainers |
124+
| @uxlfoundation/onemath-cpu-x64 | x86 CPU maintainers |
125+
| @uxlfoundation/onemath-gpu-amd | AMD GPU maintainers |
126+
| @uxlfoundation/onemath-gpu-intel | Intel GPU maintainers |
127+
| @uxlfoundation/onemath-gpu-nvidia | NVIDIA GPU maintainers |
128+
82129
## Architecture Maintainer
83130
Architecture maintainers are the most established contributors who are responsible for the
84131
project technical direction and participate in making decisions about the
@@ -88,26 +135,27 @@ Responsibilities:
88135
* Follow the [Code of Conduct](CODE_OF_CONDUCT.md).
89136
* Follow and enforce the project [contributing guidelines](CONTRIBUTING.md)
90137
* Co-own with other Domain maintainers on the technical direction of a specific domain.
138+
* Co-own with other Backend maintainers on the support and implementation of a specific backend.
91139
* Co-own with other Architecture maintainers on the project as a whole, including
92-
determining strategy and policy for the project.
93-
* Support and guide Contributors and Domain maintainers.
140+
determining strategy and policy for the project.
141+
* Support and guide Contributors, Domain maintainers, and Backend maintainers.
94142

95143
Requirements:
96-
* Experience as a Domain maintainer or Contributor with focus on the project architecture
97-
for at least 12 months.
144+
* Experience as a Domain or Backend maintainer or Contributor with focus on the project
145+
architecture for at least 12 months.
98146
* Commit at least 25% of working time to the project.
99147
* Track record of major project contributions.
100148
* Demonstrated deep knowledge of the project architecture and build.
101-
* Demonstrated broad knowledge of the project across multiple domains.
149+
* Demonstrated broad knowledge of the project across multiple domains and/or multiple backends.
102150
* Is able to exercise judgment for the good of the project, independent of
103151
their employer, friends, or team.
104152

105153
Privileges:
106154
* Can represent the project in public as a Maintainer.
107-
* Can recommend Contributor or Domain maintainer to become Architecture maintainers.
155+
* Can recommend Contributor, Domain maintainer, or Backend maintainer to become Architecture maintainer.
108156

109157
Process of becoming a maintainer:
110-
1. A Contributor or Domain maintainer requests to join oneMath Architecture maintainers GitHub team
111-
(@uxlfoundation/onemath-arch-write).
112-
2. At least one of Architecture maintainers approves the request.
158+
1. A Contributor, Domain maintainer, or Backend maintainer requests to join oneMath Architecture
159+
maintainers GitHub team (@uxlfoundation/onemath-arch-write).
160+
2. At least one of the existing Architecture maintainers approves the request.
113161

0 commit comments

Comments
 (0)