Skip to content

Commit 2f9397e

Browse files
authored
Merge pull request #209 from NexGenAnalytics/blas2_kk_include_and_test_cmakelist
blas2 and blas3: update kokkos include header and cmakelist for tests
2 parents d0da498 + a95dd22 commit 2f9397e

File tree

2 files changed

+138
-0
lines changed

2 files changed

+138
-0
lines changed

tests/kokkos-based/CMakeLists.txt

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ linalg_add_test_kokkos(
8383
linalg_add_test_kokkos(
8484
vector_sum_of_squares_kokkos
8585
"vector_sum_of_squares: kokkos impl")
86+
8687
linalg_add_test_kokkos(
8788
vector_abs_sum_kokkos
8889
"vector_abs_sum: kokkos impl")
@@ -106,3 +107,131 @@ linalg_add_test_kokkos(
106107
linalg_add_test_kokkos(
107108
copy_kokkos
108109
"copy: kokkos impl")
110+
111+
#
112+
# blas2 (according to P1673)
113+
#
114+
115+
linalg_add_test_kokkos(
116+
overwriting_matrix_vector_product
117+
"overwriting_matrix_vector_product: kokkos impl")
118+
linalg_add_test_kokkos(
119+
updating_matrix_vector_product
120+
"updating_matrix_vector_product: kokkos impl")
121+
122+
# symmetric_matrix_vector_product
123+
linalg_add_test_kokkos(
124+
overwriting_symmetric_matrix_vector_product
125+
"overwriting_symmetric_matrix_vector_product_lower: kokkos impl" USE_LOWER lower)
126+
linalg_add_test_kokkos(
127+
overwriting_symmetric_matrix_vector_product
128+
"overwriting_symmetric_matrix_vector_product_upper: kokkos impl" USE_UPPER upper)
129+
linalg_add_test_kokkos(
130+
updating_symmetric_matrix_vector_product
131+
"updating_symmetric_matrix_vector_product_lower: kokkos impl" USE_LOWER lower)
132+
linalg_add_test_kokkos(
133+
updating_symmetric_matrix_vector_product
134+
"updating_symmetric_matrix_vector_product_upper: kokkos impl" USE_UPPER upper)
135+
136+
# hermitian_matrix_vector_product
137+
linalg_add_test_kokkos(
138+
overwriting_hermitian_matrix_vector_product
139+
"overwriting_hermitian_matrix_vector_product_lower: kokkos impl" USE_LOWER lower)
140+
linalg_add_test_kokkos(
141+
overwriting_hermitian_matrix_vector_product
142+
"overwriting_hermitian_matrix_vector_product_upper: kokkos impl" USE_UPPER upper)
143+
linalg_add_test_kokkos(
144+
updating_hermitian_matrix_vector_product
145+
"updating_hermitian_matrix_vector_product_lower: kokkos impl" USE_LOWER lower)
146+
linalg_add_test_kokkos(
147+
updating_hermitian_matrix_vector_product
148+
"updating_hermitian_matrix_vector_product_upper: kokkos impl" USE_UPPER upper)
149+
150+
# triangular_matrix_vector_product
151+
linalg_add_test_kokkos(
152+
overwriting_triangular_matrix_vector_product
153+
"overwriting_triangular_matrix_vector_product_lower: kokkos impl" USE_LOWER lower)
154+
linalg_add_test_kokkos(
155+
overwriting_triangular_matrix_vector_product
156+
"overwriting_triangular_matrix_vector_product_upper: kokkos impl" USE_UPPER upper)
157+
linalg_add_test_kokkos(
158+
updating_triangular_matrix_vector_product
159+
"updating_triangular_matrix_vector_product_lower: kokkos impl" USE_LOWER lower)
160+
linalg_add_test_kokkos(
161+
updating_triangular_matrix_vector_product
162+
"updating_triangular_matrix_vector_product_upper: kokkos impl" USE_UPPER upper)
163+
164+
linalg_add_test_kokkos(
165+
matrix_rank1_update_kokkos
166+
"matrix_rank1_update: kokkos impl")
167+
168+
linalg_add_test_kokkos(
169+
symmetric_matrix_rank1_update_kokkos
170+
"symmetric_matrix_rank1_update: kokkos impl")
171+
linalg_add_test_kokkos(
172+
hermitian_matrix_rank1_update_kokkos
173+
"hermitian_matrix_rank1_update: kokkos impl")
174+
175+
linalg_add_test_kokkos(
176+
symmetric_matrix_rank2_update_kokkos
177+
"symmetric_matrix_rank2_update: kokkos impl")
178+
linalg_add_test_kokkos(
179+
hermitian_matrix_rank2_update_kokkos
180+
"hermitian_matrix_rank2_update: kokkos impl")
181+
182+
#
183+
# blas3 (according to P1673)
184+
#
185+
186+
# matrix_product
187+
linalg_add_test_kokkos(
188+
gemm_C_AB
189+
"gemm_C_AB_product: kokkos impl")
190+
linalg_add_test_kokkos(
191+
gemm_C_ABT
192+
"gemm_C_ABT_product: kokkos impl")
193+
linalg_add_test_kokkos(
194+
gemm_C_ATB
195+
"gemm_C_ATB_product: kokkos impl")
196+
197+
linalg_add_test_kokkos(
198+
triangular_matrix_left_product_kokkos
199+
"triangular_matrix_left_product_kokkos: kokkos impl")
200+
linalg_add_test_kokkos(
201+
triangular_matrix_right_product_kokkos
202+
"triangular_matrix_right_product_kokkos: kokkos impl")
203+
204+
# {symmetric,hermitian}_matrix_{left}
205+
linalg_add_test_kokkos(
206+
symmetric_matrix_left_product_kokkos
207+
"symmetric_matrix_left_product: kokkos impl")
208+
linalg_add_test_kokkos(
209+
symmetric_matrix_right_product_kokkos
210+
"symmetric_matrix_right_product: kokkos impl")
211+
linalg_add_test_kokkos(
212+
hermitian_matrix_left_product_kokkos
213+
"hermitian_matrix_left_product: kokkos impl")
214+
linalg_add_test_kokkos(
215+
hermitian_matrix_right_product_kokkos
216+
"hermitian_matrix_right_product: kokkos impl")
217+
218+
linalg_add_test_kokkos(
219+
triangular_matrix_matrix_left_solve
220+
"triangular_matrix_matrix_left_solve: kokkos impl")
221+
linalg_add_test_kokkos(
222+
triangular_matrix_matrix_right_solve
223+
"triangular_matrix_matrix_right_solve: kokkos impl")
224+
225+
linalg_add_test_kokkos(
226+
symmetric_matrix_rank_2k_update_kokkos
227+
"symmetric_matrix_rank_2k_update: kokkos impl")
228+
linalg_add_test_kokkos(
229+
hermitian_matrix_rank_2k_update_kokkos
230+
"hermitian_matrix_rank_2k_update: kokkos impl")
231+
232+
linalg_add_test_kokkos(
233+
symmetric_matrix_rank_k_update_kokkos
234+
"symmetric_matrix_rank_k_update: kokkos impl")
235+
linalg_add_test_kokkos(
236+
hermitian_matrix_rank_k_update_kokkos
237+
"hermitian_matrix_rank_k_update: kokkos impl")

tpl-implementations/include/experimental/linalg_kokkoskernels

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,12 @@
2323
#include "__p1673_bits/kokkos-kernels/blas2_matrix_rank_2_update.hpp"
2424
#include "__p1673_bits/kokkos-kernels/blas2_gemv_kk.hpp"
2525
#include "__p1673_bits/kokkos-kernels/blas2_symv_kk.hpp"
26+
#include "__p1673_bits/kokkos-kernels/blas2_hemv_kk.hpp"
27+
#include "__p1673_bits/kokkos-kernels/blas2_triangular_mat_vec_product.hpp"
28+
29+
// blas3 (according to P1673)
30+
#include "__p1673_bits/kokkos-kernels/blas3_overwriting_gemm_kk.hpp"
31+
#include "__p1673_bits/kokkos-kernels/blas3_matrix_rank_k_update.hpp"
32+
#include "__p1673_bits/kokkos-kernels/blas3_matrix_rank_2k_update.hpp"
33+
#include "__p1673_bits/kokkos-kernels/blas3_matrix_product_kk.hpp"
34+
#include "__p1673_bits/kokkos-kernels/blas3_triangular_matrix_matrix_solve.hpp"

0 commit comments

Comments
 (0)