Skip to content

Commit

Permalink
Merge pull request #1202 from emankov/HIPIFY
Browse files Browse the repository at this point in the history
[HIPIFY][#675][#677][SOLVER][feature] `cuSOLVER` support - Step 35 - Functions (DN)
  • Loading branch information
emankov authored Dec 13, 2023
2 parents e78ab1f + 88dc8a7 commit f84a80d
Show file tree
Hide file tree
Showing 6 changed files with 115 additions and 4 deletions.
16 changes: 16 additions & 0 deletions bin/hipify-perl
Original file line number Diff line number Diff line change
Expand Up @@ -1104,6 +1104,8 @@ my %experimental_funcs = (
"cusolverDnZgetrs" => "6.1.0",
"cusolverDnZgetrf_bufferSize" => "6.1.0",
"cusolverDnZgetrf" => "6.1.0",
"cusolverDnZgesvd_bufferSize" => "6.1.0",
"cusolverDnZgesvd" => "6.1.0",
"cusolverDnZgeqrf_bufferSize" => "6.1.0",
"cusolverDnZgeqrf" => "6.1.0",
"cusolverDnZgebrd_bufferSize" => "6.1.0",
Expand Down Expand Up @@ -1136,6 +1138,8 @@ my %experimental_funcs = (
"cusolverDnSgetrs" => "6.1.0",
"cusolverDnSgetrf_bufferSize" => "6.1.0",
"cusolverDnSgetrf" => "6.1.0",
"cusolverDnSgesvd_bufferSize" => "6.1.0",
"cusolverDnSgesvd" => "6.1.0",
"cusolverDnSgeqrf_bufferSize" => "6.1.0",
"cusolverDnSgeqrf" => "6.1.0",
"cusolverDnSgebrd_bufferSize" => "6.1.0",
Expand Down Expand Up @@ -1171,6 +1175,8 @@ my %experimental_funcs = (
"cusolverDnDgetrs" => "6.1.0",
"cusolverDnDgetrf_bufferSize" => "6.1.0",
"cusolverDnDgetrf" => "6.1.0",
"cusolverDnDgesvd_bufferSize" => "6.1.0",
"cusolverDnDgesvd" => "6.1.0",
"cusolverDnDgeqrf_bufferSize" => "6.1.0",
"cusolverDnDgeqrf" => "6.1.0",
"cusolverDnDgebrd_bufferSize" => "6.1.0",
Expand Down Expand Up @@ -1205,6 +1211,8 @@ my %experimental_funcs = (
"cusolverDnCgetrs" => "6.1.0",
"cusolverDnCgetrf_bufferSize" => "6.1.0",
"cusolverDnCgetrf" => "6.1.0",
"cusolverDnCgesvd_bufferSize" => "6.1.0",
"cusolverDnCgesvd" => "6.1.0",
"cusolverDnCgeqrf_bufferSize" => "6.1.0",
"cusolverDnCgeqrf" => "6.1.0",
"cusolverDnCgebrd_bufferSize" => "6.1.0",
Expand Down Expand Up @@ -1376,6 +1384,8 @@ sub experimentalSubstitutions {
subst("cusolverDnCgebrd_bufferSize", "hipsolverDnCgebrd_bufferSize", "library");
subst("cusolverDnCgeqrf", "hipsolverDnCgeqrf", "library");
subst("cusolverDnCgeqrf_bufferSize", "hipsolverDnCgeqrf_bufferSize", "library");
subst("cusolverDnCgesvd", "hipsolverDnCgesvd", "library");
subst("cusolverDnCgesvd_bufferSize", "hipsolverDnCgesvd_bufferSize", "library");
subst("cusolverDnCgetrf", "hipsolverDnCgetrf", "library");
subst("cusolverDnCgetrf_bufferSize", "hipsolverDnCgetrf_bufferSize", "library");
subst("cusolverDnCgetrs", "hipsolverDnCgetrs", "library");
Expand Down Expand Up @@ -1410,6 +1420,8 @@ sub experimentalSubstitutions {
subst("cusolverDnDgebrd_bufferSize", "hipsolverDnDgebrd_bufferSize", "library");
subst("cusolverDnDgeqrf", "hipsolverDnDgeqrf", "library");
subst("cusolverDnDgeqrf_bufferSize", "hipsolverDnDgeqrf_bufferSize", "library");
subst("cusolverDnDgesvd", "hipsolverDnDgesvd", "library");
subst("cusolverDnDgesvd_bufferSize", "hipsolverDnDgesvd_bufferSize", "library");
subst("cusolverDnDgetrf", "hipsolverDnDgetrf", "library");
subst("cusolverDnDgetrf_bufferSize", "hipsolverDnDgetrf_bufferSize", "library");
subst("cusolverDnDgetrs", "hipsolverDnDgetrs", "library");
Expand Down Expand Up @@ -1444,6 +1456,8 @@ sub experimentalSubstitutions {
subst("cusolverDnSgebrd_bufferSize", "hipsolverDnSgebrd_bufferSize", "library");
subst("cusolverDnSgeqrf", "hipsolverDnSgeqrf", "library");
subst("cusolverDnSgeqrf_bufferSize", "hipsolverDnSgeqrf_bufferSize", "library");
subst("cusolverDnSgesvd", "hipsolverDnSgesvd", "library");
subst("cusolverDnSgesvd_bufferSize", "hipsolverDnSgesvd_bufferSize", "library");
subst("cusolverDnSgetrf", "hipsolverDnSgetrf", "library");
subst("cusolverDnSgetrf_bufferSize", "hipsolverDnSgetrf_bufferSize", "library");
subst("cusolverDnSgetrs", "hipsolverDnSgetrs", "library");
Expand Down Expand Up @@ -1476,6 +1490,8 @@ sub experimentalSubstitutions {
subst("cusolverDnZgebrd_bufferSize", "hipsolverDnZgebrd_bufferSize", "library");
subst("cusolverDnZgeqrf", "hipsolverDnZgeqrf", "library");
subst("cusolverDnZgeqrf_bufferSize", "hipsolverDnZgeqrf_bufferSize", "library");
subst("cusolverDnZgesvd", "hipsolverDnZgesvd", "library");
subst("cusolverDnZgesvd_bufferSize", "hipsolverDnZgesvd_bufferSize", "library");
subst("cusolverDnZgetrf", "hipsolverDnZgetrf", "library");
subst("cusolverDnZgetrf_bufferSize", "hipsolverDnZgetrf_bufferSize", "library");
subst("cusolverDnZgetrs", "hipsolverDnZgetrs", "library");
Expand Down
8 changes: 8 additions & 0 deletions docs/tables/CUSOLVER_API_supported_by_HIP.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,8 @@
|`cusolverDnCgebrd_bufferSize`| | | | |`hipsolverDnCgebrd_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnCgeqrf`| | | | |`hipsolverDnCgeqrf`|5.1.0| | | |6.1.0|
|`cusolverDnCgeqrf_bufferSize`| | | | |`hipsolverDnCgeqrf_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnCgesvd`| | | | |`hipsolverDnCgesvd`|5.1.0| | | |6.1.0|
|`cusolverDnCgesvd_bufferSize`| | | | |`hipsolverDnCgesvd_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnCgetrf`| | | | |`hipsolverDnCgetrf`|5.1.0| | | |6.1.0|
|`cusolverDnCgetrf_bufferSize`| | | | |`hipsolverDnCgetrf_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnCgetrs`| | | | |`hipsolverDnCgetrs`|5.1.0| | | |6.1.0|
Expand Down Expand Up @@ -184,6 +186,8 @@
|`cusolverDnDgebrd_bufferSize`| | | | |`hipsolverDnDgebrd_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnDgeqrf`| | | | |`hipsolverDnDgeqrf`|5.1.0| | | |6.1.0|
|`cusolverDnDgeqrf_bufferSize`| | | | |`hipsolverDnDgeqrf_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnDgesvd`| | | | |`hipsolverDnDgesvd`|5.1.0| | | |6.1.0|
|`cusolverDnDgesvd_bufferSize`| | | | |`hipsolverDnDgesvd_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnDgetrf`| | | | |`hipsolverDnDgetrf`|5.1.0| | | |6.1.0|
|`cusolverDnDgetrf_bufferSize`| | | | |`hipsolverDnDgetrf_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnDgetrs`| | | | |`hipsolverDnDgetrs`|5.1.0| | | |6.1.0|
Expand Down Expand Up @@ -262,6 +266,8 @@
|`cusolverDnSgebrd_bufferSize`| | | | |`hipsolverDnSgebrd_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnSgeqrf`| | | | |`hipsolverDnSgeqrf`|5.1.0| | | |6.1.0|
|`cusolverDnSgeqrf_bufferSize`| | | | |`hipsolverDnSgeqrf_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnSgesvd`| | | | |`hipsolverDnSgesvd`|5.1.0| | | |6.1.0|
|`cusolverDnSgesvd_bufferSize`| | | | |`hipsolverDnSgesvd_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnSgetrf`| | | | |`hipsolverDnSgetrf`|5.1.0| | | |6.1.0|
|`cusolverDnSgetrf_bufferSize`| | | | |`hipsolverDnSgetrf_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnSgetrs`| | | | |`hipsolverDnSgetrs`|5.1.0| | | |6.1.0|
Expand Down Expand Up @@ -322,6 +328,8 @@
|`cusolverDnZgebrd_bufferSize`| | | | |`hipsolverDnZgebrd_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnZgeqrf`| | | | |`hipsolverDnZgeqrf`|5.1.0| | | |6.1.0|
|`cusolverDnZgeqrf_bufferSize`| | | | |`hipsolverDnZgeqrf_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnZgesvd`| | | | |`hipsolverDnZgesvd`|5.1.0| | | |6.1.0|
|`cusolverDnZgesvd_bufferSize`| | | | |`hipsolverDnZgesvd_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnZgetrf`| | | | |`hipsolverDnZgetrf`|5.1.0| | | |6.1.0|
|`cusolverDnZgetrf_bufferSize`| | | | |`hipsolverDnZgetrf_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnZgetrs`| | | | |`hipsolverDnZgetrs`|5.1.0| | | |6.1.0|
Expand Down
8 changes: 8 additions & 0 deletions docs/tables/CUSOLVER_API_supported_by_HIP_and_ROC.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,8 @@
|`cusolverDnCgebrd_bufferSize`| | | | |`hipsolverDnCgebrd_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnCgeqrf`| | | | |`hipsolverDnCgeqrf`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnCgeqrf_bufferSize`| | | | |`hipsolverDnCgeqrf_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnCgesvd`| | | | |`hipsolverDnCgesvd`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnCgesvd_bufferSize`| | | | |`hipsolverDnCgesvd_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnCgetrf`| | | | |`hipsolverDnCgetrf`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnCgetrf_bufferSize`| | | | |`hipsolverDnCgetrf_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnCgetrs`| | | | |`hipsolverDnCgetrs`|5.1.0| | | |6.1.0| | | | | | |
Expand Down Expand Up @@ -184,6 +186,8 @@
|`cusolverDnDgebrd_bufferSize`| | | | |`hipsolverDnDgebrd_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnDgeqrf`| | | | |`hipsolverDnDgeqrf`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnDgeqrf_bufferSize`| | | | |`hipsolverDnDgeqrf_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnDgesvd`| | | | |`hipsolverDnDgesvd`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnDgesvd_bufferSize`| | | | |`hipsolverDnDgesvd_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnDgetrf`| | | | |`hipsolverDnDgetrf`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnDgetrf_bufferSize`| | | | |`hipsolverDnDgetrf_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnDgetrs`| | | | |`hipsolverDnDgetrs`|5.1.0| | | |6.1.0| | | | | | |
Expand Down Expand Up @@ -262,6 +266,8 @@
|`cusolverDnSgebrd_bufferSize`| | | | |`hipsolverDnSgebrd_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnSgeqrf`| | | | |`hipsolverDnSgeqrf`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnSgeqrf_bufferSize`| | | | |`hipsolverDnSgeqrf_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnSgesvd`| | | | |`hipsolverDnSgesvd`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnSgesvd_bufferSize`| | | | |`hipsolverDnSgesvd_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnSgetrf`| | | | |`hipsolverDnSgetrf`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnSgetrf_bufferSize`| | | | |`hipsolverDnSgetrf_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnSgetrs`| | | | |`hipsolverDnSgetrs`|5.1.0| | | |6.1.0| | | | | | |
Expand Down Expand Up @@ -322,6 +328,8 @@
|`cusolverDnZgebrd_bufferSize`| | | | |`hipsolverDnZgebrd_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnZgeqrf`| | | | |`hipsolverDnZgeqrf`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnZgeqrf_bufferSize`| | | | |`hipsolverDnZgeqrf_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnZgesvd`| | | | |`hipsolverDnZgesvd`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnZgesvd_bufferSize`| | | | |`hipsolverDnZgesvd_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnZgetrf`| | | | |`hipsolverDnZgetrf`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnZgetrf_bufferSize`| | | | |`hipsolverDnZgetrf_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnZgetrs`| | | | |`hipsolverDnZgetrs`|5.1.0| | | |6.1.0| | | | | | |
Expand Down
8 changes: 8 additions & 0 deletions docs/tables/CUSOLVER_API_supported_by_ROC.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,8 @@
|`cusolverDnCgebrd_bufferSize`| | | | | | | | | | |
|`cusolverDnCgeqrf`| | | | | | | | | | |
|`cusolverDnCgeqrf_bufferSize`| | | | | | | | | | |
|`cusolverDnCgesvd`| | | | | | | | | | |
|`cusolverDnCgesvd_bufferSize`| | | | | | | | | | |
|`cusolverDnCgetrf`| | | | | | | | | | |
|`cusolverDnCgetrf_bufferSize`| | | | | | | | | | |
|`cusolverDnCgetrs`| | | | | | | | | | |
Expand Down Expand Up @@ -184,6 +186,8 @@
|`cusolverDnDgebrd_bufferSize`| | | | | | | | | | |
|`cusolverDnDgeqrf`| | | | | | | | | | |
|`cusolverDnDgeqrf_bufferSize`| | | | | | | | | | |
|`cusolverDnDgesvd`| | | | | | | | | | |
|`cusolverDnDgesvd_bufferSize`| | | | | | | | | | |
|`cusolverDnDgetrf`| | | | | | | | | | |
|`cusolverDnDgetrf_bufferSize`| | | | | | | | | | |
|`cusolverDnDgetrs`| | | | | | | | | | |
Expand Down Expand Up @@ -262,6 +266,8 @@
|`cusolverDnSgebrd_bufferSize`| | | | | | | | | | |
|`cusolverDnSgeqrf`| | | | | | | | | | |
|`cusolverDnSgeqrf_bufferSize`| | | | | | | | | | |
|`cusolverDnSgesvd`| | | | | | | | | | |
|`cusolverDnSgesvd_bufferSize`| | | | | | | | | | |
|`cusolverDnSgetrf`| | | | | | | | | | |
|`cusolverDnSgetrf_bufferSize`| | | | | | | | | | |
|`cusolverDnSgetrs`| | | | | | | | | | |
Expand Down Expand Up @@ -322,6 +328,8 @@
|`cusolverDnZgebrd_bufferSize`| | | | | | | | | | |
|`cusolverDnZgeqrf`| | | | | | | | | | |
|`cusolverDnZgeqrf_bufferSize`| | | | | | | | | | |
|`cusolverDnZgesvd`| | | | | | | | | | |
|`cusolverDnZgesvd_bufferSize`| | | | | | | | | | |
|`cusolverDnZgetrf`| | | | | | | | | | |
|`cusolverDnZgetrf_bufferSize`| | | | | | | | | | |
|`cusolverDnZgetrs`| | | | | | | | | | |
Expand Down
18 changes: 18 additions & 0 deletions src/CUDA2HIP_SOLVER_API_functions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,16 @@ const std::map<llvm::StringRef, hipCounter> CUDA_SOLVER_FUNCTION_MAP {
{"cusolverDnDormtr", {"hipsolverDnDormtr", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}},
{"cusolverDnCunmtr", {"hipsolverDnCunmtr", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}},
{"cusolverDnZunmtr", {"hipsolverDnZunmtr", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}},
// NOTE: rocsolver_(s|d|c|z)gesvd have a harness of other HIP and ROC API calls
{"cusolverDnSgesvd_bufferSize", {"hipsolverDnSgesvd_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}},
{"cusolverDnDgesvd_bufferSize", {"hipsolverDnDgesvd_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}},
{"cusolverDnCgesvd_bufferSize", {"hipsolverDnCgesvd_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}},
{"cusolverDnZgesvd_bufferSize", {"hipsolverDnZgesvd_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}},
// NOTE: rocsolver_(s|d|c|z)gesvd have a harness of other HIP and ROC API calls
{"cusolverDnSgesvd", {"hipsolverDnSgesvd", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}},
{"cusolverDnDgesvd", {"hipsolverDnDgesvd", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}},
{"cusolverDnCgesvd", {"hipsolverDnCgesvd", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}},
{"cusolverDnZgesvd", {"hipsolverDnZgesvd", "", CONV_LIB_FUNC, API_SOLVER, 2, ROC_UNSUPPORTED | HIP_EXPERIMENTAL}},
};

const std::map<llvm::StringRef, cudaAPIversions> CUDA_SOLVER_FUNCTION_VER_MAP {
Expand Down Expand Up @@ -630,6 +640,14 @@ const std::map<llvm::StringRef, hipAPIversions> HIP_SOLVER_FUNCTION_VER_MAP {
{"hipsolverDnDormtr", {HIP_5010, HIP_0, HIP_0, HIP_LATEST}},
{"hipsolverDnCunmtr", {HIP_5010, HIP_0, HIP_0, HIP_LATEST}},
{"hipsolverDnZunmtr", {HIP_5010, HIP_0, HIP_0, HIP_LATEST}},
{"hipsolverDnSgesvd_bufferSize", {HIP_5010, HIP_0, HIP_0, HIP_LATEST}},
{"hipsolverDnDgesvd_bufferSize", {HIP_5010, HIP_0, HIP_0, HIP_LATEST}},
{"hipsolverDnCgesvd_bufferSize", {HIP_5010, HIP_0, HIP_0, HIP_LATEST}},
{"hipsolverDnZgesvd_bufferSize", {HIP_5010, HIP_0, HIP_0, HIP_LATEST}},
{"hipsolverDnSgesvd", {HIP_5010, HIP_0, HIP_0, HIP_LATEST}},
{"hipsolverDnDgesvd", {HIP_5010, HIP_0, HIP_0, HIP_LATEST}},
{"hipsolverDnCgesvd", {HIP_5010, HIP_0, HIP_0, HIP_LATEST}},
{"hipsolverDnZgesvd", {HIP_5010, HIP_0, HIP_0, HIP_LATEST}},

{"rocsolver_spotrf", {HIP_3020, HIP_0, HIP_0, HIP_LATEST}},
{"rocsolver_dpotrf", {HIP_3020, HIP_0, HIP_0, HIP_LATEST}},
Expand Down
Loading

0 comments on commit f84a80d

Please sign in to comment.