Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deprecate KOKKOS_CUSPARSE_SAFE_CALL -> KOKKOSPARSE_IMPL_CUSPARSE_SAFE_CALL #2426

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions perf_test/batched/sparse/cusolver/KokkosBatched_Test_cusolverSp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,9 @@ struct Functor_Test_SparseCuSolveQR {
const size_t m = _r.extent(0) - 1;

cusparseMatDescr_t descrA = 0;
KOKKOS_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&descrA));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatType(descrA, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(descrA, CUSPARSE_INDEX_BASE_ZERO));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&descrA));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatType(descrA, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(descrA, CUSPARSE_INDEX_BASE_ZERO));

double tol = 1e-18;
int reorder = 0;
Expand Down Expand Up @@ -146,9 +146,9 @@ struct Functor_Test_Block_SparseCuSolveQR {
const size_t block_m = N * m;

cusparseMatDescr_t descrA = 0;
KOKKOS_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&descrA));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatType(descrA, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(descrA, CUSPARSE_INDEX_BASE_ZERO));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&descrA));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatType(descrA, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(descrA, CUSPARSE_INDEX_BASE_ZERO));

double tol = 1e-18;
int reorder = 0;
Expand Down Expand Up @@ -229,9 +229,9 @@ struct Functor_Test_SparseCuSolveChol {
const size_t m = _r.extent(0) - 1;

cusparseMatDescr_t descrA = 0;
KOKKOS_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&descrA));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatType(descrA, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(descrA, CUSPARSE_INDEX_BASE_ZERO));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&descrA));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatType(descrA, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(descrA, CUSPARSE_INDEX_BASE_ZERO));

double tol = 1e-18;
int reorder = 0;
Expand Down Expand Up @@ -284,9 +284,9 @@ struct Functor_Test_Block_SparseCuSolveChol {
const size_t block_m = N * m;

cusparseMatDescr_t descrA = 0;
KOKKOS_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&descrA));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatType(descrA, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(descrA, CUSPARSE_INDEX_BASE_ZERO));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&descrA));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatType(descrA, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(descrA, CUSPARSE_INDEX_BASE_ZERO));

double tol = 1e-18;
int reorder = 0;
Expand Down
42 changes: 21 additions & 21 deletions perf_test/sparse/KokkosSparse_spadd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -277,20 +277,20 @@ void run_experiment(int argc, char** argv, CommonInputParams) {
const double alphabeta = 1.0;

if (params.use_cusparse) {
KOKKOS_CUSPARSE_SAFE_CALL(cusparseCreate(&cusparseHandle));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetPointerMode(cusparseHandle, CUSPARSE_POINTER_MODE_HOST));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&A_cusparse));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&B_cusparse));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&C_cusparse));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatType(A_cusparse, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatType(B_cusparse, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatType(C_cusparse, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatDiagType(A_cusparse, CUSPARSE_DIAG_TYPE_NON_UNIT));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatDiagType(B_cusparse, CUSPARSE_DIAG_TYPE_NON_UNIT));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatDiagType(C_cusparse, CUSPARSE_DIAG_TYPE_NON_UNIT));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(A_cusparse, CUSPARSE_INDEX_BASE_ZERO));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(B_cusparse, CUSPARSE_INDEX_BASE_ZERO));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(C_cusparse, CUSPARSE_INDEX_BASE_ZERO));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseCreate(&cusparseHandle));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetPointerMode(cusparseHandle, CUSPARSE_POINTER_MODE_HOST));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&A_cusparse));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&B_cusparse));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseCreateMatDescr(&C_cusparse));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatType(A_cusparse, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatType(B_cusparse, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatType(C_cusparse, CUSPARSE_MATRIX_TYPE_GENERAL));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatDiagType(A_cusparse, CUSPARSE_DIAG_TYPE_NON_UNIT));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatDiagType(B_cusparse, CUSPARSE_DIAG_TYPE_NON_UNIT));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatDiagType(C_cusparse, CUSPARSE_DIAG_TYPE_NON_UNIT));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(A_cusparse, CUSPARSE_INDEX_BASE_ZERO));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(B_cusparse, CUSPARSE_INDEX_BASE_ZERO));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSetMatIndexBase(C_cusparse, CUSPARSE_INDEX_BASE_ZERO));
}
#endif
#ifdef KOKKOSKERNELS_ENABLE_TPL_MKL
Expand Down Expand Up @@ -320,16 +320,16 @@ void run_experiment(int argc, char** argv, CommonInputParams) {
if constexpr (std::is_same_v<lno_t, int> && std::is_same_v<size_type, int>) {
// Symbolic phase: compute buffer size, then compute nnz
size_t bufferSize;
KOKKOS_CUSPARSE_SAFE_CALL(cusparseDcsrgeam2_bufferSizeExt(
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseDcsrgeam2_bufferSizeExt(
cusparseHandle, A.numRows(), A.numCols(), &alphabeta, A_cusparse, A.nnz(), A.values.data(),
A.graph.row_map.data(), A.graph.entries.data(), &alphabeta, B_cusparse, B.nnz(), B.values.data(),
B.graph.row_map.data(), B.graph.entries.data(), C_cusparse, NULL, row_mapC.data(), NULL, &bufferSize));
// Allocate work buffer
KOKKOS_IMPL_CUDA_SAFE_CALL(cudaMalloc((void**)&cusparseBuffer, bufferSize));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseXcsrgeam2Nnz(cusparseHandle, m, n, A_cusparse, A.nnz(),
A.graph.row_map.data(), A.graph.entries.data(), B_cusparse,
B.nnz(), B.graph.row_map.data(), B.graph.entries.data(),
C_cusparse, row_mapC.data(), &c_nnz, cusparseBuffer));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(
cusparseXcsrgeam2Nnz(cusparseHandle, m, n, A_cusparse, A.nnz(), A.graph.row_map.data(),
A.graph.entries.data(), B_cusparse, B.nnz(), B.graph.row_map.data(),
B.graph.entries.data(), C_cusparse, row_mapC.data(), &c_nnz, cusparseBuffer));
} else {
throw std::runtime_error(
"Must enable int as both ordinal and offset type in KokkosKernels "
Expand All @@ -351,7 +351,7 @@ void run_experiment(int argc, char** argv, CommonInputParams) {
if (params.use_cusparse) {
#ifdef KOKKOSKERNELS_ENABLE_TPL_CUSPARSE
if constexpr (std::is_same_v<lno_t, int> && std::is_same_v<size_type, int>) {
KOKKOS_CUSPARSE_SAFE_CALL(cusparseDcsrgeam2(
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseDcsrgeam2(
cusparseHandle, m, n, &alphabeta, A_cusparse, A.nnz(), A.values.data(), A.graph.row_map.data(),
A.graph.entries.data(), &alphabeta, B_cusparse, B.nnz(), B.values.data(), B.graph.row_map.data(),
B.graph.entries.data(), C_cusparse, valuesC.data(), row_mapC.data(), entriesC.data(), cusparseBuffer));
Expand Down Expand Up @@ -379,7 +379,7 @@ void run_experiment(int argc, char** argv, CommonInputParams) {
}

#ifdef KOKKOSKERNELS_ENABLE_TPL_CUSPARSE
if (params.use_cusparse) KOKKOS_CUSPARSE_SAFE_CALL(cusparseDestroy(cusparseHandle));
if (params.use_cusparse) KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseDestroy(cusparseHandle));
#endif

#ifdef KOKKOSKERNELS_ENABLE_TPL_MKL
Expand Down
25 changes: 14 additions & 11 deletions perf_test/sparse/KokkosSparse_spmv_struct_tuning.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -509,14 +509,16 @@ int main(int argc, char** argv) {

/* create matrix */
cusparseSpMatDescr_t A_cusparse;
KOKKOS_CUSPARSE_SAFE_CALL(cusparseCreateCsr(
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseCreateCsr(
&A_cusparse, A.numRows(), A.numCols(), A.nnz(), (void*)A.graph.row_map.data(), (void*)A.graph.entries.data(),
(void*)A.values.data(), myCusparseOffsetType, myCusparseEntryType, CUSPARSE_INDEX_BASE_ZERO, myCudaDataType));

/* create lhs and rhs */
cusparseDnVecDescr_t vecX, vecY;
KOKKOS_CUSPARSE_SAFE_CALL(cusparseCreateDnVec(&vecX, x1.extent_int(0), (void*)x1.data(), myCudaDataType));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseCreateDnVec(&vecY, y1.extent_int(0), (void*)y1.data(), myCudaDataType));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(
cusparseCreateDnVec(&vecX, x1.extent_int(0), (void*)x1.data(), myCudaDataType));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(
cusparseCreateDnVec(&vecY, y1.extent_int(0), (void*)y1.data(), myCudaDataType));

const double alpha = 1.0, beta = 1.0;
size_t bufferSize = 0;
Expand All @@ -528,9 +530,9 @@ int main(int argc, char** argv) {
#else
cusparseSpMVAlg_t alg = CUSPARSE_MV_ALG_DEFAULT;
#endif
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSpMV_bufferSize(controls.getCusparseHandle(), CUSPARSE_OPERATION_NON_TRANSPOSE,
&alpha, A_cusparse, vecX, &beta, vecY, myCudaDataType, alg,
&bufferSize));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(
cusparseSpMV_bufferSize(controls.getCusparseHandle(), CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha, A_cusparse,
vecX, &beta, vecY, myCudaDataType, alg, &bufferSize));
KOKKOS_IMPL_CUDA_SAFE_CALL(cudaMalloc(&dBuffer, bufferSize));

/* perform SpMV */
Expand All @@ -540,8 +542,9 @@ int main(int argc, char** argv) {
double ave_time = 0.0;
for (int i = 0; i < loop; i++) {
Kokkos::Timer timer;
KOKKOS_CUSPARSE_SAFE_CALL(cusparseSpMV(controls.getCusparseHandle(), CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha,
A_cusparse, vecX, &beta, vecY, myCudaDataType, alg, dBuffer));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseSpMV(controls.getCusparseHandle(),
CUSPARSE_OPERATION_NON_TRANSPOSE, &alpha, A_cusparse, vecX,
&beta, vecY, myCudaDataType, alg, dBuffer));
Kokkos::fence();
double time = timer.seconds();
ave_time += time;
Expand All @@ -565,9 +568,9 @@ int main(int argc, char** argv) {
Kokkos::Profiling::popRegion();

KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(dBuffer));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseDestroyDnVec(vecX));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseDestroyDnVec(vecY));
KOKKOS_CUSPARSE_SAFE_CALL(cusparseDestroySpMat(A_cusparse));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseDestroyDnVec(vecX));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseDestroyDnVec(vecY));
KOKKOSSPARSE_IMPL_CUSPARSE_SAFE_CALL(cusparseDestroySpMat(A_cusparse));
#else
// The data needs to be reformatted for cusparse before launching the
// kernel. Step one, extract raw data
Expand Down
Loading
Loading