diff --git a/bin/hipify-perl b/bin/hipify-perl index b5c1c902..0ac0e379 100755 --- a/bin/hipify-perl +++ b/bin/hipify-perl @@ -1286,7 +1286,11 @@ sub experimentalSubstitutions { subst("cudaExternalSemaphoreWaitNodeParams", "hipExternalSemaphoreWaitNodeParams", "type"); subst("cudaExternalSemaphoreWaitNodeParamsV2", "hipExternalSemaphoreWaitNodeParams", "type"); subst("cusolverDnHandle_t", "hipsolverHandle_t", "type"); + subst("cusolverEigType_t", "hipsolverEigType_t", "type"); subst("cusolverStatus_t", "hipsolverStatus_t", "type"); + subst("CUSOLVER_EIG_TYPE_1", "HIPSOLVER_EIG_TYPE_1", "numeric_literal"); + subst("CUSOLVER_EIG_TYPE_2", "HIPSOLVER_EIG_TYPE_2", "numeric_literal"); + subst("CUSOLVER_EIG_TYPE_3", "HIPSOLVER_EIG_TYPE_3", "numeric_literal"); subst("CUSOLVER_STATUS_ALLOC_FAILED", "HIPSOLVER_STATUS_ALLOC_FAILED", "numeric_literal"); subst("CUSOLVER_STATUS_ARCH_MISMATCH", "HIPSOLVER_STATUS_ARCH_MISMATCH", "numeric_literal"); subst("CUSOLVER_STATUS_EXECUTION_FAILED", "HIPSOLVER_STATUS_EXECUTION_FAILED", "numeric_literal"); @@ -2154,6 +2158,7 @@ sub rocSubstitutions { subst("cudnnStatus_t", "miopenStatus_t", "type"); subst("cudnnTensorDescriptor_t", "miopenTensorDescriptor_t", "type"); subst("cusolverDnHandle_t", "rocblas_handle", "type"); + subst("cusolverEigType_t", "rocblas_eform", "type"); subst("cusolverStatus_t", "rocblas_status", "type"); subst("cusparseAction_t", "rocsparse_action", "type"); subst("cusparseColorInfo", "_rocsparse_color_info", "type"); @@ -2312,6 +2317,9 @@ sub rocSubstitutions { subst("CUDNN_STATUS_NOT_SUPPORTED", "miopenStatusUnsupportedOp", "numeric_literal"); subst("CUDNN_STATUS_SUCCESS", "miopenStatusSuccess", "numeric_literal"); subst("CUDNN_UNIDIRECTIONAL", "miopenRNNunidirection", "numeric_literal"); + subst("CUSOLVER_EIG_TYPE_1", "rocblas_eform_ax", "numeric_literal"); + subst("CUSOLVER_EIG_TYPE_2", "rocblas_eform_abx", "numeric_literal"); + subst("CUSOLVER_EIG_TYPE_3", "rocblas_eform_bax", "numeric_literal"); subst("CUSOLVER_STATUS_ALLOC_FAILED", "rocblas_status_memory_error", "numeric_literal"); subst("CUSOLVER_STATUS_ARCH_MISMATCH", "rocblas_status_arch_mismatch", "numeric_literal"); subst("CUSOLVER_STATUS_EXECUTION_FAILED", "rocblas_status_not_implemented", "numeric_literal"); @@ -8634,6 +8642,19 @@ sub warnUnsupportedFunctions { "CUSPARSE_ALG1", "CUSPARSE_ALG0", "CUSOLVER_STATUS_MATRIX_TYPE_NOT_SUPPORTED", + "CUSOLVER_STATUS_IRS_PARAMS_NOT_INITIALIZED", + "CUSOLVER_STATUS_IRS_PARAMS_INVALID_REFINE", + "CUSOLVER_STATUS_IRS_PARAMS_INVALID_PREC", + "CUSOLVER_STATUS_IRS_PARAMS_INVALID_MAXITER", + "CUSOLVER_STATUS_IRS_PARAMS_INVALID", + "CUSOLVER_STATUS_IRS_OUT_OF_RANGE", + "CUSOLVER_STATUS_IRS_NRHS_NOT_SUPPORTED_FOR_REFINE_GMRES", + "CUSOLVER_STATUS_IRS_NOT_SUPPORTED", + "CUSOLVER_STATUS_IRS_MATRIX_SINGULAR", + "CUSOLVER_STATUS_IRS_INTERNAL_ERROR", + "CUSOLVER_STATUS_IRS_INFOS_NOT_INITIALIZED", + "CUSOLVER_STATUS_IRS_INFOS_NOT_DESTROYED", + "CUSOLVER_STATUS_INVALID_WORKSPACE", "CUSOLVER_STATUS_INVALID_LICENSE", "CURAND_REJECTION", "CURAND_POISSON", diff --git a/src/CUDA2HIP_SOLVER_API_types.cpp b/src/CUDA2HIP_SOLVER_API_types.cpp index a8d7d6b5..7b5ae9de 100644 --- a/src/CUDA2HIP_SOLVER_API_types.cpp +++ b/src/CUDA2HIP_SOLVER_API_types.cpp @@ -24,44 +24,86 @@ THE SOFTWARE. // Map of all functions const std::map CUDA_SOLVER_TYPE_NAME_MAP { - {"cusolverStatus_t", {"hipsolverStatus_t", "rocblas_status", CONV_TYPE, API_SOLVER, 1, HIP_EXPERIMENTAL}}, - {"CUSOLVER_STATUS_SUCCESS", {"HIPSOLVER_STATUS_SUCCESS", "rocblas_status_success", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, - {"CUSOLVER_STATUS_NOT_INITIALIZED", {"HIPSOLVER_STATUS_NOT_INITIALIZED", "rocblas_status_invalid_handle", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, - {"CUSOLVER_STATUS_ALLOC_FAILED", {"HIPSOLVER_STATUS_ALLOC_FAILED", "rocblas_status_memory_error", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, - {"CUSOLVER_STATUS_INVALID_VALUE", {"HIPSOLVER_STATUS_INVALID_VALUE", "rocblas_status_invalid_value", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, - {"CUSOLVER_STATUS_ARCH_MISMATCH", {"HIPSOLVER_STATUS_ARCH_MISMATCH", "rocblas_status_arch_mismatch", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, - {"CUSOLVER_STATUS_MAPPING_ERROR", {"HIPSOLVER_STATUS_MAPPING_ERROR", "rocblas_status_not_implemented", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, - {"CUSOLVER_STATUS_EXECUTION_FAILED", {"HIPSOLVER_STATUS_EXECUTION_FAILED", "rocblas_status_not_implemented", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, - {"CUSOLVER_STATUS_INTERNAL_ERROR", {"HIPSOLVER_STATUS_INTERNAL_ERROR", "rocblas_status_internal_error", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, - {"CUSOLVER_STATUS_MATRIX_TYPE_NOT_SUPPORTED", {"HIPSOLVER_STATUS_MATRIX_TYPE_NOT_SUPPORTED", "rocblas_status_not_implemented", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, - {"CUSOLVER_STATUS_NOT_SUPPORTED", {"HIPSOLVER_STATUS_NOT_SUPPORTED", "rocblas_status_not_implemented", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, - {"CUSOLVER_STATUS_ZERO_PIVOT", {"HIPSOLVER_STATUS_ZERO_PIVOT", "rocblas_status_not_implemented", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, - {"CUSOLVER_STATUS_INVALID_LICENSE", {"HIPSOLVER_STATUS_INVALID_LICENSE", "rocblas_status_not_implemented", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, - {"cusolverDnHandle_t", {"hipsolverHandle_t", "rocblas_handle", CONV_TYPE, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"cusolverStatus_t", {"hipsolverStatus_t", "rocblas_status", CONV_TYPE, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_STATUS_SUCCESS", {"HIPSOLVER_STATUS_SUCCESS", "rocblas_status_success", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_STATUS_NOT_INITIALIZED", {"HIPSOLVER_STATUS_NOT_INITIALIZED", "rocblas_status_invalid_handle", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_STATUS_ALLOC_FAILED", {"HIPSOLVER_STATUS_ALLOC_FAILED", "rocblas_status_memory_error", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_STATUS_INVALID_VALUE", {"HIPSOLVER_STATUS_INVALID_VALUE", "rocblas_status_invalid_value", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_STATUS_ARCH_MISMATCH", {"HIPSOLVER_STATUS_ARCH_MISMATCH", "rocblas_status_arch_mismatch", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_STATUS_MAPPING_ERROR", {"HIPSOLVER_STATUS_MAPPING_ERROR", "rocblas_status_not_implemented", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_STATUS_EXECUTION_FAILED", {"HIPSOLVER_STATUS_EXECUTION_FAILED", "rocblas_status_not_implemented", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_STATUS_INTERNAL_ERROR", {"HIPSOLVER_STATUS_INTERNAL_ERROR", "rocblas_status_internal_error", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_STATUS_MATRIX_TYPE_NOT_SUPPORTED", {"HIPSOLVER_STATUS_MATRIX_TYPE_NOT_SUPPORTED", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_NOT_SUPPORTED", {"HIPSOLVER_STATUS_NOT_SUPPORTED", "rocblas_status_not_implemented", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_STATUS_ZERO_PIVOT", {"HIPSOLVER_STATUS_ZERO_PIVOT", "rocblas_status_not_implemented", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_STATUS_INVALID_LICENSE", {"HIPSOLVER_STATUS_INVALID_LICENSE", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_PARAMS_NOT_INITIALIZED", {"HIPSOLVER_STATUS_IRS_PARAMS_NOT_INITIALIZED", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_PARAMS_INVALID", {"HIPSOLVER_STATUS_IRS_PARAMS_INVALID", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_PARAMS_INVALID_PREC", {"HIPSOLVER_STATUS_IRS_PARAMS_INVALID_PREC", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_PARAMS_INVALID_REFINE", {"HIPSOLVER_STATUS_IRS_PARAMS_INVALID_REFINE", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_PARAMS_INVALID_MAXITER", {"HIPSOLVER_STATUS_IRS_PARAMS_INVALID_MAXITER", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_INTERNAL_ERROR", {"HIPSOLVER_STATUS_IRS_INTERNAL_ERROR", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_NOT_SUPPORTED", {"HIPSOLVER_STATUS_IRS_NOT_SUPPORTED", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_OUT_OF_RANGE", {"HIPSOLVER_STATUS_IRS_OUT_OF_RANGE", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_NRHS_NOT_SUPPORTED_FOR_REFINE_GMRES", {"HIPSOLVER_STATUS_IRS_NRHS_NOT_SUPPORTED_FOR_REFINE_GMRES", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_INFOS_NOT_INITIALIZED", {"HIPSOLVER_STATUS_IRS_INFOS_NOT_INITIALIZED", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_INFOS_NOT_DESTROYED", {"HIPSOLVER_STATUS_IRS_INFOS_NOT_DESTROYED", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_IRS_MATRIX_SINGULAR", {"HIPSOLVER_STATUS_IRS_MATRIX_SINGULAR", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"CUSOLVER_STATUS_INVALID_WORKSPACE", {"HIPSOLVER_STATUS_INVALID_WORKSPACE", "", CONV_NUMERIC_LITERAL, API_SOLVER, 1, UNSUPPORTED}}, + {"cusolverDnHandle_t", {"hipsolverHandle_t", "rocblas_handle", CONV_TYPE, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"cusolverEigType_t", {"hipsolverEigType_t", "rocblas_eform", CONV_TYPE, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_EIG_TYPE_1", {"HIPSOLVER_EIG_TYPE_1", "rocblas_eform_ax", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_EIG_TYPE_2", {"HIPSOLVER_EIG_TYPE_2", "rocblas_eform_abx", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, + {"CUSOLVER_EIG_TYPE_3", {"HIPSOLVER_EIG_TYPE_3", "rocblas_eform_bax", CONV_NUMERIC_LITERAL, API_SOLVER, 1, HIP_EXPERIMENTAL}}, }; const std::map CUDA_SOLVER_TYPE_NAME_VER_MAP { + {"CUSOLVER_STATUS_IRS_PARAMS_NOT_INITIALIZED", {CUDA_102, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_IRS_PARAMS_INVALID", {CUDA_102, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_IRS_PARAMS_INVALID_PREC", {CUDA_110, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_IRS_PARAMS_INVALID_REFINE", {CUDA_110, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_IRS_PARAMS_INVALID_MAXITER", {CUDA_110, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_IRS_INTERNAL_ERROR", {CUDA_102, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_IRS_NOT_SUPPORTED", {CUDA_102, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_IRS_OUT_OF_RANGE", {CUDA_102, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_IRS_NRHS_NOT_SUPPORTED_FOR_REFINE_GMRES", {CUDA_102, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_IRS_INFOS_NOT_INITIALIZED", {CUDA_102, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_IRS_INFOS_NOT_DESTROYED", {CUDA_110, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_IRS_MATRIX_SINGULAR", {CUDA_110, CUDA_0, CUDA_0}}, + {"CUSOLVER_STATUS_INVALID_WORKSPACE", {CUDA_110, CUDA_0, CUDA_0}}, + {"cusolverEigType_t", {CUDA_80, CUDA_0, CUDA_0}}, + {"CUSOLVER_EIG_TYPE_1", {CUDA_80, CUDA_0, CUDA_0}}, + {"CUSOLVER_EIG_TYPE_2", {CUDA_80, CUDA_0, CUDA_0}}, + {"CUSOLVER_EIG_TYPE_3", {CUDA_80, CUDA_0, CUDA_0}}, }; const std::map HIP_SOLVER_TYPE_NAME_VER_MAP { - {"hipsolverStatus_t", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, - {"HIPSOLVER_STATUS_SUCCESS", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, - {"HIPSOLVER_STATUS_NOT_INITIALIZED", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, - {"HIPSOLVER_STATUS_ALLOC_FAILED", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, - {"HIPSOLVER_STATUS_INVALID_VALUE", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, - {"HIPSOLVER_STATUS_ARCH_MISMATCH", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, - {"HIPSOLVER_STATUS_MAPPING_ERROR", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, - {"HIPSOLVER_STATUS_EXECUTION_FAILED", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, - {"HIPSOLVER_STATUS_INTERNAL_ERROR", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, - {"HIPSOLVER_STATUS_NOT_SUPPORTED", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, - {"hipsolverHandle_t", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, - {"rocblas_status", {HIP_3000, HIP_0, HIP_0, HIP_LATEST}}, - {"rocblas_status_success", {HIP_3000, HIP_0, HIP_0, HIP_LATEST}}, - {"rocblas_status_invalid_handle", {HIP_5060, HIP_0, HIP_0, HIP_LATEST}}, - {"rocblas_status_memory_error", {HIP_5060, HIP_0, HIP_0, HIP_LATEST}}, - {"rocblas_status_invalid_value", {HIP_3050, HIP_0, HIP_0, HIP_LATEST}}, - {"rocblas_status_not_implemented", {HIP_1050, HIP_0, HIP_0, HIP_LATEST}}, - {"rocblas_status_internal_error", {HIP_1050, HIP_0, HIP_0, HIP_LATEST}}, - {"rocblas_status_arch_mismatch", {HIP_5070, HIP_0, HIP_0, HIP_LATEST}}, - {"rocblas_handle", {HIP_1050, HIP_0, HIP_0, HIP_LATEST}}, + {"hipsolverStatus_t", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_STATUS_SUCCESS", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_STATUS_NOT_INITIALIZED", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_STATUS_ALLOC_FAILED", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_STATUS_INVALID_VALUE", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_STATUS_ARCH_MISMATCH", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_STATUS_MAPPING_ERROR", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_STATUS_EXECUTION_FAILED", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_STATUS_INTERNAL_ERROR", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_STATUS_NOT_SUPPORTED", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"hipsolverHandle_t", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"hipsolverEigType_t", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_EIG_TYPE_1", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_EIG_TYPE_2", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"HIPSOLVER_EIG_TYPE_3", {HIP_4050, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_status", {HIP_3000, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_status_success", {HIP_3000, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_status_invalid_handle", {HIP_5060, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_status_memory_error", {HIP_5060, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_status_invalid_value", {HIP_3050, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_status_not_implemented", {HIP_1050, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_status_internal_error", {HIP_1050, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_status_arch_mismatch", {HIP_5070, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_handle", {HIP_1050, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_eform", {HIP_4020, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_eform_ax", {HIP_4020, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_eform_abx", {HIP_4020, HIP_0, HIP_0, HIP_LATEST}}, + {"rocblas_eform_bax", {HIP_4020, HIP_0, HIP_0, HIP_LATEST}}, }; diff --git a/tests/unit_tests/synthetic/libraries/cusolver2hipsolver.cu b/tests/unit_tests/synthetic/libraries/cusolver2hipsolver.cu index 2fd923a9..cd4ec697 100644 --- a/tests/unit_tests/synthetic/libraries/cusolver2hipsolver.cu +++ b/tests/unit_tests/synthetic/libraries/cusolver2hipsolver.cu @@ -93,5 +93,16 @@ int main() { // CHECK: status = hipsolverDnSgetrs(handle, blasOperation, n, nrhs , &fA, lda, &devIpiv, &fB, ldb, &devInfo); status = cusolverDnSgetrs(handle, blasOperation, n, nrhs , &fA, lda, &devIpiv, &fB, ldb, &devInfo); +#if CUDA_VERSION >= 8000 + // CHECK: hipsolverEigType_t eigType; + // CHECK-NEXT: hipsolverEigType_t EIG_TYPE_1 = HIPSOLVER_EIG_TYPE_1; + // CHECK-NEXT: hipsolverEigType_t EIG_TYPE_2 = HIPSOLVER_EIG_TYPE_2; + // CHECK-NEXT: hipsolverEigType_t EIG_TYPE_3 = HIPSOLVER_EIG_TYPE_3; + cusolverEigType_t eigType; + cusolverEigType_t EIG_TYPE_1 = CUSOLVER_EIG_TYPE_1; + cusolverEigType_t EIG_TYPE_2 = CUSOLVER_EIG_TYPE_2; + cusolverEigType_t EIG_TYPE_3 = CUSOLVER_EIG_TYPE_3; +#endif + return 0; } diff --git a/tests/unit_tests/synthetic/libraries/cusolver2rocsolver.cu b/tests/unit_tests/synthetic/libraries/cusolver2rocsolver.cu index 2c80902c..c2007734 100644 --- a/tests/unit_tests/synthetic/libraries/cusolver2rocsolver.cu +++ b/tests/unit_tests/synthetic/libraries/cusolver2rocsolver.cu @@ -45,5 +45,16 @@ int main() { // CHECK: status = rocblas_destroy_handle(handle); status = cusolverDnDestroy(handle); +#if CUDA_VERSION >= 8000 + // CHECK: rocblas_eform eigType; + // CHECK-NEXT: rocblas_eform EIG_TYPE_1 = rocblas_eform_ax; + // CHECK-NEXT: rocblas_eform EIG_TYPE_2 = rocblas_eform_abx; + // CHECK-NEXT: rocblas_eform EIG_TYPE_3 = rocblas_eform_bax; + cusolverEigType_t eigType; + cusolverEigType_t EIG_TYPE_1 = CUSOLVER_EIG_TYPE_1; + cusolverEigType_t EIG_TYPE_2 = CUSOLVER_EIG_TYPE_2; + cusolverEigType_t EIG_TYPE_3 = CUSOLVER_EIG_TYPE_3; +#endif + return 0; }