From 86de4e2faddf809bc3b26591ffbca41f091b2fc6 Mon Sep 17 00:00:00 2001 From: Evgeny Mankov Date: Tue, 19 Dec 2023 17:11:10 +0000 Subject: [PATCH] [HIPIFY][#675][#677][SOLVER][feature] `cuSOLVER` support - Step 48 - Functions (DN) + `cusolverDnPotr(f|s)(_bufferSize)?`, `cusolverDnGe(q|t)r(f|s)(_bufferSize)?`, `cusolverDnSyevd(x)?(_bufferSize)?`, `cusolverDnGesvd(_bufferSize)?`, and `cusolverDnXpotr(f|s)(_bufferSize)?` are `UNSUPPORTED` + Updated `SOLVER` synthetic tests, the regenerated `hipify-perl`, and `SOLVER` `CUDA2HIP` documentation --- bin/hipify-perl | 18 ++++++++++ docs/tables/CUSOLVER_API_supported_by_HIP.md | 18 ++++++++++ .../CUSOLVER_API_supported_by_HIP_and_ROC.md | 18 ++++++++++ docs/tables/CUSOLVER_API_supported_by_ROC.md | 18 ++++++++++ src/CUDA2HIP_SOLVER_API_functions.cpp | 36 +++++++++++++++++++ 5 files changed, 108 insertions(+) diff --git a/bin/hipify-perl b/bin/hipify-perl index 2c4c769c..df4dd34e 100755 --- a/bin/hipify-perl +++ b/bin/hipify-perl @@ -7613,9 +7613,16 @@ sub warnUnsupportedFunctions { "cusolverDnXtrtri", "cusolverDnXsytrs_bufferSize", "cusolverDnXsytrs", + "cusolverDnXpotrs", + "cusolverDnXpotrf_bufferSize", + "cusolverDnXpotrf", "cusolverDnXgetrs", "cusolverDnXgetrf_bufferSize", "cusolverDnXgetrf", + "cusolverDnSyevdx_bufferSize", + "cusolverDnSyevdx", + "cusolverDnSyevd_bufferSize", + "cusolverDnSyevd", "cusolverDnSsytri_bufferSize", "cusolverDnSsytri", "cusolverDnSlauum_bufferSize", @@ -7635,6 +7642,9 @@ sub warnUnsupportedFunctions { "cusolverDnSBgesv", "cusolverDnSBgels_bufferSize", "cusolverDnSBgels", + "cusolverDnPotrs", + "cusolverDnPotrf_bufferSize", + "cusolverDnPotrf", "cusolverDnParams_t", "cusolverDnParams", "cusolverDnIRSXgesv_bufferSize", @@ -7665,13 +7675,21 @@ sub warnUnsupportedFunctions { "cusolverDnIRSInfosDestroy", "cusolverDnIRSInfosCreate", "cusolverDnIRSInfos", + "cusolverDnGetrs", + "cusolverDnGetrf_bufferSize", + "cusolverDnGetrf", "cusolverDnGetDeterministicMode", + "cusolverDnGesvd_bufferSize", + "cusolverDnGesvd", + "cusolverDnGeqrf_bufferSize", + "cusolverDnGeqrf", "cusolverDnFunction_t", "cusolverDnDsytri_bufferSize", "cusolverDnDsytri", "cusolverDnDlauum_bufferSize", "cusolverDnDlauum", "cusolverDnDlaswp", + "cusolverDnDestroyParams", "cusolverDnDXgesv_bufferSize", "cusolverDnDXgesv", "cusolverDnDXgels_bufferSize", diff --git a/docs/tables/CUSOLVER_API_supported_by_HIP.md b/docs/tables/CUSOLVER_API_supported_by_HIP.md index ecfde03b..04d9b9c8 100644 --- a/docs/tables/CUSOLVER_API_supported_by_HIP.md +++ b/docs/tables/CUSOLVER_API_supported_by_HIP.md @@ -205,6 +205,7 @@ |`cusolverDnDXgesv_bufferSize`|11.0| | | | | | | | | | |`cusolverDnDestroy`| | | | |`hipsolverDnDestroy`|5.1.0| | | |6.1.0| |`cusolverDnDestroyGesvdjInfo`|9.0| | | |`hipsolverDnDestroyGesvdjInfo`|5.1.0| | | |6.1.0| +|`cusolverDnDestroyParams`|11.0| | | | | | | | | | |`cusolverDnDestroySyevjInfo`|9.0| | | |`hipsolverDnDestroySyevjInfo`|5.1.0| | | |6.1.0| |`cusolverDnDgebrd`| | | | |`hipsolverDnDgebrd`|5.1.0| | | |6.1.0| |`cusolverDnDgebrd_bufferSize`| | | | |`hipsolverDnDgebrd_bufferSize`|5.1.0| | | |6.1.0| @@ -261,8 +262,15 @@ |`cusolverDnDsytrf_bufferSize`| | | | |`hipsolverDnDsytrf_bufferSize`|5.1.0| | | |6.1.0| |`cusolverDnDsytri`|10.1| | | | | | | | | | |`cusolverDnDsytri_bufferSize`|10.1| | | | | | | | | | +|`cusolverDnGeqrf`|11.0|11.1| | | | | | | | | +|`cusolverDnGeqrf_bufferSize`|11.0|11.1| | | | | | | | | +|`cusolverDnGesvd`|11.0|11.1| | | | | | | | | +|`cusolverDnGesvd_bufferSize`|11.0|11.1| | | | | | | | | |`cusolverDnGetDeterministicMode`|12.2| | | | | | | | | | |`cusolverDnGetStream`| | | | |`hipsolverGetStream`|4.5.0| | | |6.1.0| +|`cusolverDnGetrf`|11.0|11.1| | | | | | | | | +|`cusolverDnGetrf_bufferSize`|11.0|11.1| | | | | | | | | +|`cusolverDnGetrs`|11.0|11.1| | | | | | | | | |`cusolverDnIRSInfosCreate`|10.2| | | | | | | | | | |`cusolverDnIRSInfosDestroy`|10.2| | | | | | | | | | |`cusolverDnIRSInfosGetMaxIters`|10.2| | | | | | | | | | @@ -287,6 +295,9 @@ |`cusolverDnIRSXgels_bufferSize`|11.0| | | | | | | | | | |`cusolverDnIRSXgesv`|10.2| | | | | | | | | | |`cusolverDnIRSXgesv_bufferSize`|10.2| | | | | | | | | | +|`cusolverDnPotrf`|11.0|11.1| | | | | | | | | +|`cusolverDnPotrf_bufferSize`|11.0|11.1| | | | | | | | | +|`cusolverDnPotrs`|11.0|11.1| | | | | | | | | |`cusolverDnSBgels`|11.0| | | | | | | | | | |`cusolverDnSBgels_bufferSize`|11.0| | | | | | | | | | |`cusolverDnSBgesv`|11.0| | | | | | | | | | @@ -361,6 +372,10 @@ |`cusolverDnSsytrf_bufferSize`| | | | |`hipsolverDnSsytrf_bufferSize`|5.1.0| | | |6.1.0| |`cusolverDnSsytri`|10.1| | | | | | | | | | |`cusolverDnSsytri_bufferSize`|10.1| | | | | | | | | | +|`cusolverDnSyevd`|11.0|11.1| | | | | | | | | +|`cusolverDnSyevd_bufferSize`|11.0|11.1| | | | | | | | | +|`cusolverDnSyevdx`|11.0|11.1| | | | | | | | | +|`cusolverDnSyevdx_bufferSize`|11.0|11.1| | | | | | | | | |`cusolverDnXgesvdjGetResidual`|9.0| | | |`hipsolverDnXgesvdjGetResidual`|5.1.0| | | |6.1.0| |`cusolverDnXgesvdjGetSweeps`|9.0| | | |`hipsolverDnXgesvdjGetSweeps`|5.1.0| | | |6.1.0| |`cusolverDnXgesvdjSetMaxSweeps`|9.0| | | |`hipsolverDnXgesvdjSetMaxSweeps`|5.1.0| | | |6.1.0| @@ -369,6 +384,9 @@ |`cusolverDnXgetrf`|11.1| | | | | | | | | | |`cusolverDnXgetrf_bufferSize`|11.1| | | | | | | | | | |`cusolverDnXgetrs`|11.1| | | | | | | | | | +|`cusolverDnXpotrf`|11.1|11.1| | | | | | | | | +|`cusolverDnXpotrf_bufferSize`|11.1|11.1| | | | | | | | | +|`cusolverDnXpotrs`|11.1|11.1| | | | | | | | | |`cusolverDnXsyevjGetResidual`|9.0| | | |`hipsolverDnXsyevjGetResidual`|5.1.0| | | |6.1.0| |`cusolverDnXsyevjGetSweeps`|9.0| | | |`hipsolverDnXsyevjGetSweeps`|5.1.0| | | |6.1.0| |`cusolverDnXsyevjSetMaxSweeps`|9.0| | | |`hipsolverDnXsyevjSetMaxSweeps`|5.1.0| | | |6.1.0| diff --git a/docs/tables/CUSOLVER_API_supported_by_HIP_and_ROC.md b/docs/tables/CUSOLVER_API_supported_by_HIP_and_ROC.md index 88de47e0..694bee89 100644 --- a/docs/tables/CUSOLVER_API_supported_by_HIP_and_ROC.md +++ b/docs/tables/CUSOLVER_API_supported_by_HIP_and_ROC.md @@ -205,6 +205,7 @@ |`cusolverDnDXgesv_bufferSize`|11.0| | | | | | | | | | | | | | | | |`cusolverDnDestroy`| | | | |`hipsolverDnDestroy`|5.1.0| | | |6.1.0|`rocblas_destroy_handle`| | | | | | |`cusolverDnDestroyGesvdjInfo`|9.0| | | |`hipsolverDnDestroyGesvdjInfo`|5.1.0| | | |6.1.0| | | | | | | +|`cusolverDnDestroyParams`|11.0| | | | | | | | | | | | | | | | |`cusolverDnDestroySyevjInfo`|9.0| | | |`hipsolverDnDestroySyevjInfo`|5.1.0| | | |6.1.0| | | | | | | |`cusolverDnDgebrd`| | | | |`hipsolverDnDgebrd`|5.1.0| | | |6.1.0| | | | | | | |`cusolverDnDgebrd_bufferSize`| | | | |`hipsolverDnDgebrd_bufferSize`|5.1.0| | | |6.1.0| | | | | | | @@ -261,8 +262,15 @@ |`cusolverDnDsytrf_bufferSize`| | | | |`hipsolverDnDsytrf_bufferSize`|5.1.0| | | |6.1.0| | | | | | | |`cusolverDnDsytri`|10.1| | | | | | | | | | | | | | | | |`cusolverDnDsytri_bufferSize`|10.1| | | | | | | | | | | | | | | | +|`cusolverDnGeqrf`|11.0|11.1| | | | | | | | | | | | | | | +|`cusolverDnGeqrf_bufferSize`|11.0|11.1| | | | | | | | | | | | | | | +|`cusolverDnGesvd`|11.0|11.1| | | | | | | | | | | | | | | +|`cusolverDnGesvd_bufferSize`|11.0|11.1| | | | | | | | | | | | | | | |`cusolverDnGetDeterministicMode`|12.2| | | | | | | | | | | | | | | | |`cusolverDnGetStream`| | | | |`hipsolverGetStream`|4.5.0| | | |6.1.0|`rocblas_get_stream`| | | | | | +|`cusolverDnGetrf`|11.0|11.1| | | | | | | | | | | | | | | +|`cusolverDnGetrf_bufferSize`|11.0|11.1| | | | | | | | | | | | | | | +|`cusolverDnGetrs`|11.0|11.1| | | | | | | | | | | | | | | |`cusolverDnIRSInfosCreate`|10.2| | | | | | | | | | | | | | | | |`cusolverDnIRSInfosDestroy`|10.2| | | | | | | | | | | | | | | | |`cusolverDnIRSInfosGetMaxIters`|10.2| | | | | | | | | | | | | | | | @@ -287,6 +295,9 @@ |`cusolverDnIRSXgels_bufferSize`|11.0| | | | | | | | | | | | | | | | |`cusolverDnIRSXgesv`|10.2| | | | | | | | | | | | | | | | |`cusolverDnIRSXgesv_bufferSize`|10.2| | | | | | | | | | | | | | | | +|`cusolverDnPotrf`|11.0|11.1| | | | | | | | | | | | | | | +|`cusolverDnPotrf_bufferSize`|11.0|11.1| | | | | | | | | | | | | | | +|`cusolverDnPotrs`|11.0|11.1| | | | | | | | | | | | | | | |`cusolverDnSBgels`|11.0| | | | | | | | | | | | | | | | |`cusolverDnSBgels_bufferSize`|11.0| | | | | | | | | | | | | | | | |`cusolverDnSBgesv`|11.0| | | | | | | | | | | | | | | | @@ -361,6 +372,10 @@ |`cusolverDnSsytrf_bufferSize`| | | | |`hipsolverDnSsytrf_bufferSize`|5.1.0| | | |6.1.0| | | | | | | |`cusolverDnSsytri`|10.1| | | | | | | | | | | | | | | | |`cusolverDnSsytri_bufferSize`|10.1| | | | | | | | | | | | | | | | +|`cusolverDnSyevd`|11.0|11.1| | | | | | | | | | | | | | | +|`cusolverDnSyevd_bufferSize`|11.0|11.1| | | | | | | | | | | | | | | +|`cusolverDnSyevdx`|11.0|11.1| | | | | | | | | | | | | | | +|`cusolverDnSyevdx_bufferSize`|11.0|11.1| | | | | | | | | | | | | | | |`cusolverDnXgesvdjGetResidual`|9.0| | | |`hipsolverDnXgesvdjGetResidual`|5.1.0| | | |6.1.0| | | | | | | |`cusolverDnXgesvdjGetSweeps`|9.0| | | |`hipsolverDnXgesvdjGetSweeps`|5.1.0| | | |6.1.0| | | | | | | |`cusolverDnXgesvdjSetMaxSweeps`|9.0| | | |`hipsolverDnXgesvdjSetMaxSweeps`|5.1.0| | | |6.1.0| | | | | | | @@ -369,6 +384,9 @@ |`cusolverDnXgetrf`|11.1| | | | | | | | | | | | | | | | |`cusolverDnXgetrf_bufferSize`|11.1| | | | | | | | | | | | | | | | |`cusolverDnXgetrs`|11.1| | | | | | | | | | | | | | | | +|`cusolverDnXpotrf`|11.1|11.1| | | | | | | | | | | | | | | +|`cusolverDnXpotrf_bufferSize`|11.1|11.1| | | | | | | | | | | | | | | +|`cusolverDnXpotrs`|11.1|11.1| | | | | | | | | | | | | | | |`cusolverDnXsyevjGetResidual`|9.0| | | |`hipsolverDnXsyevjGetResidual`|5.1.0| | | |6.1.0| | | | | | | |`cusolverDnXsyevjGetSweeps`|9.0| | | |`hipsolverDnXsyevjGetSweeps`|5.1.0| | | |6.1.0| | | | | | | |`cusolverDnXsyevjSetMaxSweeps`|9.0| | | |`hipsolverDnXsyevjSetMaxSweeps`|5.1.0| | | |6.1.0| | | | | | | diff --git a/docs/tables/CUSOLVER_API_supported_by_ROC.md b/docs/tables/CUSOLVER_API_supported_by_ROC.md index 02b4a557..661480cc 100644 --- a/docs/tables/CUSOLVER_API_supported_by_ROC.md +++ b/docs/tables/CUSOLVER_API_supported_by_ROC.md @@ -205,6 +205,7 @@ |`cusolverDnDXgesv_bufferSize`|11.0| | | | | | | | | | |`cusolverDnDestroy`| | | | |`rocblas_destroy_handle`| | | | | | |`cusolverDnDestroyGesvdjInfo`|9.0| | | | | | | | | | +|`cusolverDnDestroyParams`|11.0| | | | | | | | | | |`cusolverDnDestroySyevjInfo`|9.0| | | | | | | | | | |`cusolverDnDgebrd`| | | | | | | | | | | |`cusolverDnDgebrd_bufferSize`| | | | | | | | | | | @@ -261,8 +262,15 @@ |`cusolverDnDsytrf_bufferSize`| | | | | | | | | | | |`cusolverDnDsytri`|10.1| | | | | | | | | | |`cusolverDnDsytri_bufferSize`|10.1| | | | | | | | | | +|`cusolverDnGeqrf`|11.0|11.1| | | | | | | | | +|`cusolverDnGeqrf_bufferSize`|11.0|11.1| | | | | | | | | +|`cusolverDnGesvd`|11.0|11.1| | | | | | | | | +|`cusolverDnGesvd_bufferSize`|11.0|11.1| | | | | | | | | |`cusolverDnGetDeterministicMode`|12.2| | | | | | | | | | |`cusolverDnGetStream`| | | | |`rocblas_get_stream`| | | | | | +|`cusolverDnGetrf`|11.0|11.1| | | | | | | | | +|`cusolverDnGetrf_bufferSize`|11.0|11.1| | | | | | | | | +|`cusolverDnGetrs`|11.0|11.1| | | | | | | | | |`cusolverDnIRSInfosCreate`|10.2| | | | | | | | | | |`cusolverDnIRSInfosDestroy`|10.2| | | | | | | | | | |`cusolverDnIRSInfosGetMaxIters`|10.2| | | | | | | | | | @@ -287,6 +295,9 @@ |`cusolverDnIRSXgels_bufferSize`|11.0| | | | | | | | | | |`cusolverDnIRSXgesv`|10.2| | | | | | | | | | |`cusolverDnIRSXgesv_bufferSize`|10.2| | | | | | | | | | +|`cusolverDnPotrf`|11.0|11.1| | | | | | | | | +|`cusolverDnPotrf_bufferSize`|11.0|11.1| | | | | | | | | +|`cusolverDnPotrs`|11.0|11.1| | | | | | | | | |`cusolverDnSBgels`|11.0| | | | | | | | | | |`cusolverDnSBgels_bufferSize`|11.0| | | | | | | | | | |`cusolverDnSBgesv`|11.0| | | | | | | | | | @@ -361,6 +372,10 @@ |`cusolverDnSsytrf_bufferSize`| | | | | | | | | | | |`cusolverDnSsytri`|10.1| | | | | | | | | | |`cusolverDnSsytri_bufferSize`|10.1| | | | | | | | | | +|`cusolverDnSyevd`|11.0|11.1| | | | | | | | | +|`cusolverDnSyevd_bufferSize`|11.0|11.1| | | | | | | | | +|`cusolverDnSyevdx`|11.0|11.1| | | | | | | | | +|`cusolverDnSyevdx_bufferSize`|11.0|11.1| | | | | | | | | |`cusolverDnXgesvdjGetResidual`|9.0| | | | | | | | | | |`cusolverDnXgesvdjGetSweeps`|9.0| | | | | | | | | | |`cusolverDnXgesvdjSetMaxSweeps`|9.0| | | | | | | | | | @@ -369,6 +384,9 @@ |`cusolverDnXgetrf`|11.1| | | | | | | | | | |`cusolverDnXgetrf_bufferSize`|11.1| | | | | | | | | | |`cusolverDnXgetrs`|11.1| | | | | | | | | | +|`cusolverDnXpotrf`|11.1|11.1| | | | | | | | | +|`cusolverDnXpotrf_bufferSize`|11.1|11.1| | | | | | | | | +|`cusolverDnXpotrs`|11.1|11.1| | | | | | | | | |`cusolverDnXsyevjGetResidual`|9.0| | | | | | | | | | |`cusolverDnXsyevjGetSweeps`|9.0| | | | | | | | | | |`cusolverDnXsyevjSetMaxSweeps`|9.0| | | | | | | | | | diff --git a/src/CUDA2HIP_SOLVER_API_functions.cpp b/src/CUDA2HIP_SOLVER_API_functions.cpp index af158b4d..7d712192 100644 --- a/src/CUDA2HIP_SOLVER_API_functions.cpp +++ b/src/CUDA2HIP_SOLVER_API_functions.cpp @@ -45,6 +45,7 @@ const std::map CUDA_SOLVER_FUNCTION_MAP { {"cusolverDnXgetrf_bufferSize", {"hipsolverDnXgetrf_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, {"cusolverDnXgetrs", {"hipsolverDnXgetrs", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, {"cusolverDnCreateParams", {"hipsolverDnCreateParams", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnDestroyParams", {"hipsolverDnDestroyParams", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, {"cusolverDnSetAdvOptions", {"hipsolverDnSetAdvOptions", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, {"cusolverDnSetStream", {"hipsolverSetStream", "rocblas_set_stream", CONV_LIB_FUNC, API_SOLVER, 2, HIP_EXPERIMENTAL}}, {"cusolverDnGetStream", {"hipsolverGetStream", "rocblas_get_stream", CONV_LIB_FUNC, API_SOLVER, 2, HIP_EXPERIMENTAL}}, @@ -437,10 +438,28 @@ const std::map CUDA_SOLVER_FUNCTION_MAP { {"cusolverDnDgesvdaStridedBatched", {"hipsolverDnDgesvdaStridedBatched", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cusolverDnCgesvdaStridedBatched", {"hipsolverDnCgesvdaStridedBatched", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, {"cusolverDnZgesvdaStridedBatched", {"hipsolverDnZgesvdaStridedBatched", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}}, + {"cusolverDnPotrf_bufferSize", {"hipsolverDnPotrf_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnPotrf", {"hipsolverDnPotrf", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnPotrs", {"hipsolverDnPotrs", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnGeqrf_bufferSize", {"hipsolverDnGeqrf_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnGeqrf", {"hipsolverDnGeqrf", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnGetrf_bufferSize", {"hipsolverDnGetrf_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnGetrf", {"hipsolverDnGetrf", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnGetrs", {"hipsolverDnGetrs", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnSyevd_bufferSize", {"hipsolverDnSyevd_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnSyevd", {"hipsolverDnSyevd", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnSyevdx_bufferSize", {"hipsolverDnSyevdx_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnSyevdx", {"hipsolverDnSyevdx", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnGesvd_bufferSize", {"hipsolverDnGesvd_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnGesvd", {"hipsolverDnGesvd", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnXpotrf_bufferSize", {"hipsolverDnXpotrf_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnXpotrf", {"hipsolverDnXpotrf", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, + {"cusolverDnXpotrs", {"hipsolverDnXpotrs", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}}, }; const std::map CUDA_SOLVER_FUNCTION_VER_MAP { {"cusolverDnCreateParams", {CUDA_110, CUDA_0, CUDA_0}}, + {"cusolverDnDestroyParams", {CUDA_110, CUDA_0, CUDA_0}}, {"cusolverDnSetAdvOptions", {CUDA_110, CUDA_0, CUDA_0}}, {"cusolverDnXgetrf", {CUDA_111, CUDA_0, CUDA_0}}, {"cusolverDnXgetrf_bufferSize", {CUDA_111, CUDA_0, CUDA_0}}, @@ -715,6 +734,23 @@ const std::map CUDA_SOLVER_FUNCTION_VER_MAP { {"cusolverDnDgesvdaStridedBatched", {CUDA_101, CUDA_0, CUDA_0}}, {"cusolverDnCgesvdaStridedBatched", {CUDA_101, CUDA_0, CUDA_0}}, {"cusolverDnZgesvdaStridedBatched", {CUDA_101, CUDA_0, CUDA_0}}, + {"cusolverDnPotrf_bufferSize", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnPotrf", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnPotrs", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnGeqrf_bufferSize", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnGeqrf", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnGetrf_bufferSize", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnGetrf", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnGetrs", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnSyevd_bufferSize", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnSyevd", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnSyevdx_bufferSize", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnSyevdx", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnGesvd_bufferSize", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnGesvd", {CUDA_110, CUDA_111, CUDA_0}}, + {"cusolverDnXpotrf_bufferSize", {CUDA_111, CUDA_111, CUDA_0}}, + {"cusolverDnXpotrf", {CUDA_111, CUDA_111, CUDA_0}}, + {"cusolverDnXpotrs", {CUDA_111, CUDA_111, CUDA_0}}, }; const std::map HIP_SOLVER_FUNCTION_VER_MAP {