Skip to content

Commit

Permalink
Merge pull request ROCm#1222 from emankov/HIPIFY
Browse files Browse the repository at this point in the history
[HIPIFY][ROCm#675][ROCm#677][SOLVER][feature] `cuSOLVER` support - Step 50 - Functions (MG)
  • Loading branch information
emankov authored Dec 20, 2023
2 parents 49c4072 + 47495c1 commit 7e80296
Show file tree
Hide file tree
Showing 6 changed files with 150 additions and 0 deletions.
25 changes: 25 additions & 0 deletions bin/hipify-perl
Original file line number Diff line number Diff line change
Expand Up @@ -7587,6 +7587,27 @@ sub warnUnsupportedFunctions {
"cusolverStorevMode_t",
"cusolverPrecType_t",
"cusolverNorm_t",
"cusolverMgSyevd_bufferSize",
"cusolverMgSyevd",
"cusolverMgPotrs_bufferSize",
"cusolverMgPotrs",
"cusolverMgPotri_bufferSize",
"cusolverMgPotri",
"cusolverMgPotrf_bufferSize",
"cusolverMgPotrf",
"cusolverMgHandle_t",
"cusolverMgGridMapping_t",
"cusolverMgGetrs_bufferSize",
"cusolverMgGetrs",
"cusolverMgGetrf_bufferSize",
"cusolverMgGetrf",
"cusolverMgDeviceSelect",
"cusolverMgDestroyGrid",
"cusolverMgDestroy",
"cusolverMgCreateMatrixDesc",
"cusolverMgCreateDeviceGrid",
"cusolverMgCreate",
"cusolverMgContext",
"cusolverIRSRefinement_t",
"cusolverDnZsytri_bufferSize",
"cusolverDnZsytri",
Expand Down Expand Up @@ -8123,6 +8144,8 @@ sub warnUnsupportedFunctions {
"cudaLimitMaxL2FetchGranularity",
"cudaLimitDevRuntimeSyncDepth",
"cudaLimitDevRuntimePendingLaunchCount",
"cudaLibMgMatrixDesc_t",
"cudaLibMgGrid_t",
"cudaLaunchMemSyncDomainRemote",
"cudaLaunchMemSyncDomainMap_st",
"cudaLaunchMemSyncDomainMap",
Expand Down Expand Up @@ -10142,6 +10165,8 @@ sub warnUnsupportedFunctions {
"CUDA_ARRAY3D_DEFERRED_MAPPING",
"CUDA_ARRAY3D_COLOR_ATTACHMENT",
"CUDA_ARRAY3D_2DARRAY",
"CUDALIBMG_GRID_MAPPING_ROW_MAJOR",
"CUDALIBMG_GRID_MAPPING_COL_MAJOR",
"CUB_USE_COOPERATIVE_GROUPS",
"CUB_SUBSCRIPTION_FACTOR",
"CUB_STATIC_ASSERT",
Expand Down
25 changes: 25 additions & 0 deletions docs/tables/CUSOLVER_API_supported_by_HIP.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
|`CUBLAS_DIRECT_FORWARD`|11.0| | | | | | | | | |
|`CUBLAS_STOREV_COLUMNWISE`|11.0| | | | | | | | | |
|`CUBLAS_STOREV_ROWWISE`|11.0| | | | | | | | | |
|`CUDALIBMG_GRID_MAPPING_COL_MAJOR`|10.1| | | | | | | | | |
|`CUDALIBMG_GRID_MAPPING_ROW_MAJOR`|10.1| | | | | | | | | |
|`CUSOLVERDN_GETRF`|11.0| | | | | | | | | |
|`CUSOLVERDN_POTRF`|11.5| | | | | | | | | |
|`CUSOLVER_ALG_0`|11.0| | | | | | | | | |
Expand Down Expand Up @@ -78,6 +80,8 @@
|`CUSOLVER_STATUS_NOT_SUPPORTED`| | | | |`HIPSOLVER_STATUS_NOT_SUPPORTED`|4.5.0| | | |6.1.0|
|`CUSOLVER_STATUS_SUCCESS`| | | | |`HIPSOLVER_STATUS_SUCCESS`|4.5.0| | | |6.1.0|
|`CUSOLVER_STATUS_ZERO_PIVOT`| | | | |`HIPSOLVER_STATUS_ZERO_PIVOT`|5.6.0| | | |6.1.0|
|`cudaLibMgGrid_t`|10.1| | | | | | | | | |
|`cudaLibMgMatrixDesc_t`|10.1| | | | | | | | | |
|`cusolverAlgMode_t`|11.0| | | | | | | | | |
|`cusolverDeterministicMode_t`|12.2| | | | | | | | | |
|`cusolverDirectMode_t`|11.0| | | | | | | | | |
Expand All @@ -95,6 +99,9 @@
|`cusolverEigRange_t`|10.1| | | |`hipsolverEigRange_t`|5.3.0| | | |6.1.0|
|`cusolverEigType_t`|8.0| | | |`hipsolverEigType_t`|4.5.0| | | |6.1.0|
|`cusolverIRSRefinement_t`|10.2| | | | | | | | | |
|`cusolverMgContext`|10.1| | | | | | | | | |
|`cusolverMgGridMapping_t`|10.1| | | | | | | | | |
|`cusolverMgHandle_t`|10.1| | | | | | | | | |
|`cusolverNorm_t`|10.2| | | | | | | | | |
|`cusolverPrecType_t`|11.0| | | | | | | | | |
|`cusolverStatus_t`| | | | |`hipsolverStatus_t`|4.5.0| | | |6.1.0|
Expand Down Expand Up @@ -490,6 +497,24 @@
|`cusolverDnZunmqr_bufferSize`|8.0| | | |`hipsolverDnZunmqr_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnZunmtr`|8.0| | | |`hipsolverDnZunmtr`|5.1.0| | | |6.1.0|
|`cusolverDnZunmtr_bufferSize`|8.0| | | |`hipsolverDnZunmtr_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverMgCreate`|10.1| | | | | | | | | |
|`cusolverMgCreateDeviceGrid`|10.1| | | | | | | | | |
|`cusolverMgCreateMatrixDesc`|10.1| | | | | | | | | |
|`cusolverMgDestroy`|10.1| | | | | | | | | |
|`cusolverMgDestroyGrid`|10.1| | | | | | | | | |
|`cusolverMgDeviceSelect`|10.1| | | | | | | | | |
|`cusolverMgGetrf`|10.2| | | | | | | | | |
|`cusolverMgGetrf_bufferSize`|10.2| | | | | | | | | |
|`cusolverMgGetrs`|10.2| | | | | | | | | |
|`cusolverMgGetrs_bufferSize`|10.2| | | | | | | | | |
|`cusolverMgPotrf`|11.0| | | | | | | | | |
|`cusolverMgPotrf_bufferSize`|11.0| | | | | | | | | |
|`cusolverMgPotri`|11.0| | | | | | | | | |
|`cusolverMgPotri_bufferSize`|11.0| | | | | | | | | |
|`cusolverMgPotrs`|11.0| | | | | | | | | |
|`cusolverMgPotrs_bufferSize`|11.0| | | | | | | | | |
|`cusolverMgSyevd`|10.1| | | | | | | | | |
|`cusolverMgSyevd_bufferSize`|10.1| | | | | | | | | |


\*A - Added; D - Deprecated; C - Changed; R - Removed; E - Experimental
25 changes: 25 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 @@ -8,6 +8,8 @@
|`CUBLAS_DIRECT_FORWARD`|11.0| | | | | | | | | | | | | | | |
|`CUBLAS_STOREV_COLUMNWISE`|11.0| | | | | | | | | | | | | | | |
|`CUBLAS_STOREV_ROWWISE`|11.0| | | | | | | | | | | | | | | |
|`CUDALIBMG_GRID_MAPPING_COL_MAJOR`|10.1| | | | | | | | | | | | | | | |
|`CUDALIBMG_GRID_MAPPING_ROW_MAJOR`|10.1| | | | | | | | | | | | | | | |
|`CUSOLVERDN_GETRF`|11.0| | | | | | | | | | | | | | | |
|`CUSOLVERDN_POTRF`|11.5| | | | | | | | | | | | | | | |
|`CUSOLVER_ALG_0`|11.0| | | | | | | | | | | | | | | |
Expand Down Expand Up @@ -78,6 +80,8 @@
|`CUSOLVER_STATUS_NOT_SUPPORTED`| | | | |`HIPSOLVER_STATUS_NOT_SUPPORTED`|4.5.0| | | |6.1.0|`rocblas_status_not_implemented`|1.5.0| | | |6.1.0|
|`CUSOLVER_STATUS_SUCCESS`| | | | |`HIPSOLVER_STATUS_SUCCESS`|4.5.0| | | |6.1.0|`rocblas_status_success`|3.0.0| | | |6.1.0|
|`CUSOLVER_STATUS_ZERO_PIVOT`| | | | |`HIPSOLVER_STATUS_ZERO_PIVOT`|5.6.0| | | |6.1.0|`rocblas_status_not_implemented`|1.5.0| | | |6.1.0|
|`cudaLibMgGrid_t`|10.1| | | | | | | | | | | | | | | |
|`cudaLibMgMatrixDesc_t`|10.1| | | | | | | | | | | | | | | |
|`cusolverAlgMode_t`|11.0| | | | | | | | | | | | | | | |
|`cusolverDeterministicMode_t`|12.2| | | | | | | | | | | | | | | |
|`cusolverDirectMode_t`|11.0| | | | | | | | | | | | | | | |
Expand All @@ -95,6 +99,9 @@
|`cusolverEigRange_t`|10.1| | | |`hipsolverEigRange_t`|5.3.0| | | |6.1.0|`rocblas_erange`|5.2.0| | | |6.1.0|
|`cusolverEigType_t`|8.0| | | |`hipsolverEigType_t`|4.5.0| | | |6.1.0|`rocblas_eform`|4.2.0| | | |6.1.0|
|`cusolverIRSRefinement_t`|10.2| | | | | | | | | | | | | | | |
|`cusolverMgContext`|10.1| | | | | | | | | | | | | | | |
|`cusolverMgGridMapping_t`|10.1| | | | | | | | | | | | | | | |
|`cusolverMgHandle_t`|10.1| | | | | | | | | | | | | | | |
|`cusolverNorm_t`|10.2| | | | | | | | | | | | | | | |
|`cusolverPrecType_t`|11.0| | | | | | | | | | | | | | | |
|`cusolverStatus_t`| | | | |`hipsolverStatus_t`|4.5.0| | | |6.1.0|`rocblas_status`|3.0.0| | | |6.1.0|
Expand Down Expand Up @@ -490,6 +497,24 @@
|`cusolverDnZunmqr_bufferSize`|8.0| | | |`hipsolverDnZunmqr_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnZunmtr`|8.0| | | |`hipsolverDnZunmtr`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnZunmtr_bufferSize`|8.0| | | |`hipsolverDnZunmtr_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverMgCreate`|10.1| | | | | | | | | | | | | | | |
|`cusolverMgCreateDeviceGrid`|10.1| | | | | | | | | | | | | | | |
|`cusolverMgCreateMatrixDesc`|10.1| | | | | | | | | | | | | | | |
|`cusolverMgDestroy`|10.1| | | | | | | | | | | | | | | |
|`cusolverMgDestroyGrid`|10.1| | | | | | | | | | | | | | | |
|`cusolverMgDeviceSelect`|10.1| | | | | | | | | | | | | | | |
|`cusolverMgGetrf`|10.2| | | | | | | | | | | | | | | |
|`cusolverMgGetrf_bufferSize`|10.2| | | | | | | | | | | | | | | |
|`cusolverMgGetrs`|10.2| | | | | | | | | | | | | | | |
|`cusolverMgGetrs_bufferSize`|10.2| | | | | | | | | | | | | | | |
|`cusolverMgPotrf`|11.0| | | | | | | | | | | | | | | |
|`cusolverMgPotrf_bufferSize`|11.0| | | | | | | | | | | | | | | |
|`cusolverMgPotri`|11.0| | | | | | | | | | | | | | | |
|`cusolverMgPotri_bufferSize`|11.0| | | | | | | | | | | | | | | |
|`cusolverMgPotrs`|11.0| | | | | | | | | | | | | | | |
|`cusolverMgPotrs_bufferSize`|11.0| | | | | | | | | | | | | | | |
|`cusolverMgSyevd`|10.1| | | | | | | | | | | | | | | |
|`cusolverMgSyevd_bufferSize`|10.1| | | | | | | | | | | | | | | |


\*A - Added; D - Deprecated; C - Changed; R - Removed; E - Experimental
25 changes: 25 additions & 0 deletions docs/tables/CUSOLVER_API_supported_by_ROC.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
|`CUBLAS_DIRECT_FORWARD`|11.0| | | | | | | | | |
|`CUBLAS_STOREV_COLUMNWISE`|11.0| | | | | | | | | |
|`CUBLAS_STOREV_ROWWISE`|11.0| | | | | | | | | |
|`CUDALIBMG_GRID_MAPPING_COL_MAJOR`|10.1| | | | | | | | | |
|`CUDALIBMG_GRID_MAPPING_ROW_MAJOR`|10.1| | | | | | | | | |
|`CUSOLVERDN_GETRF`|11.0| | | | | | | | | |
|`CUSOLVERDN_POTRF`|11.5| | | | | | | | | |
|`CUSOLVER_ALG_0`|11.0| | | | | | | | | |
Expand Down Expand Up @@ -78,6 +80,8 @@
|`CUSOLVER_STATUS_NOT_SUPPORTED`| | | | |`rocblas_status_not_implemented`|1.5.0| | | |6.1.0|
|`CUSOLVER_STATUS_SUCCESS`| | | | |`rocblas_status_success`|3.0.0| | | |6.1.0|
|`CUSOLVER_STATUS_ZERO_PIVOT`| | | | |`rocblas_status_not_implemented`|1.5.0| | | |6.1.0|
|`cudaLibMgGrid_t`|10.1| | | | | | | | | |
|`cudaLibMgMatrixDesc_t`|10.1| | | | | | | | | |
|`cusolverAlgMode_t`|11.0| | | | | | | | | |
|`cusolverDeterministicMode_t`|12.2| | | | | | | | | |
|`cusolverDirectMode_t`|11.0| | | | | | | | | |
Expand All @@ -95,6 +99,9 @@
|`cusolverEigRange_t`|10.1| | | |`rocblas_erange`|5.2.0| | | |6.1.0|
|`cusolverEigType_t`|8.0| | | |`rocblas_eform`|4.2.0| | | |6.1.0|
|`cusolverIRSRefinement_t`|10.2| | | | | | | | | |
|`cusolverMgContext`|10.1| | | | | | | | | |
|`cusolverMgGridMapping_t`|10.1| | | | | | | | | |
|`cusolverMgHandle_t`|10.1| | | | | | | | | |
|`cusolverNorm_t`|10.2| | | | | | | | | |
|`cusolverPrecType_t`|11.0| | | | | | | | | |
|`cusolverStatus_t`| | | | |`rocblas_status`|3.0.0| | | |6.1.0|
Expand Down Expand Up @@ -490,6 +497,24 @@
|`cusolverDnZunmqr_bufferSize`|8.0| | | | | | | | | |
|`cusolverDnZunmtr`|8.0| | | | | | | | | |
|`cusolverDnZunmtr_bufferSize`|8.0| | | | | | | | | |
|`cusolverMgCreate`|10.1| | | | | | | | | |
|`cusolverMgCreateDeviceGrid`|10.1| | | | | | | | | |
|`cusolverMgCreateMatrixDesc`|10.1| | | | | | | | | |
|`cusolverMgDestroy`|10.1| | | | | | | | | |
|`cusolverMgDestroyGrid`|10.1| | | | | | | | | |
|`cusolverMgDeviceSelect`|10.1| | | | | | | | | |
|`cusolverMgGetrf`|10.2| | | | | | | | | |
|`cusolverMgGetrf_bufferSize`|10.2| | | | | | | | | |
|`cusolverMgGetrs`|10.2| | | | | | | | | |
|`cusolverMgGetrs_bufferSize`|10.2| | | | | | | | | |
|`cusolverMgPotrf`|11.0| | | | | | | | | |
|`cusolverMgPotrf_bufferSize`|11.0| | | | | | | | | |
|`cusolverMgPotri`|11.0| | | | | | | | | |
|`cusolverMgPotri_bufferSize`|11.0| | | | | | | | | |
|`cusolverMgPotrs`|11.0| | | | | | | | | |
|`cusolverMgPotrs_bufferSize`|11.0| | | | | | | | | |
|`cusolverMgSyevd`|10.1| | | | | | | | | |
|`cusolverMgSyevd_bufferSize`|10.1| | | | | | | | | |


\*A - Added; D - Deprecated; C - Changed; R - Removed; E - Experimental
36 changes: 36 additions & 0 deletions src/CUDA2HIP_SOLVER_API_functions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -473,6 +473,24 @@ const std::map<llvm::StringRef, hipCounter> CUDA_SOLVER_FUNCTION_MAP {
{"cusolverDnLoggerSetLevel", {"hipsolverDnLoggerSetLevel", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverDnLoggerSetMask", {"hipsolverDnLoggerSetMask", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverDnLoggerForceDisable", {"hipsolverDnLoggerForceDisable", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgCreate", {"hipsolverMgCreate", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgDestroy", {"hipsolverMgDestroy", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgDeviceSelect", {"hipsolverMgDeviceSelect", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgCreateDeviceGrid", {"hipsolverMgCreateDeviceGrid", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgDestroyGrid", {"hipsolverMgDestroyGrid", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgCreateMatrixDesc", {"hipsolverMgCreateMatrixDesc", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgSyevd_bufferSize", {"hipsolverMgSyevd_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgSyevd", {"hipsolverMgSyevd", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgGetrf_bufferSize", {"hipsolverMgGetrf_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgGetrf", {"hipsolverMgGetrf", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgGetrs_bufferSize", {"hipsolverMgGetrs_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgGetrs", {"hipsolverMgGetrs", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgPotrf_bufferSize", {"hipsolverMgPotrf_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgPotrf", {"hipsolverMgPotrf", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgPotrs_bufferSize", {"hipsolverMgPotrs_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgPotrs", {"hipsolverMgPotrs", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgPotri_bufferSize", {"hipsolverMgPotri_bufferSize", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
{"cusolverMgPotri", {"hipsolverMgPotri", "", CONV_LIB_FUNC, API_SOLVER, 2, UNSUPPORTED}},
};

const std::map<llvm::StringRef, cudaAPIversions> CUDA_SOLVER_FUNCTION_VER_MAP {
Expand Down Expand Up @@ -787,6 +805,24 @@ const std::map<llvm::StringRef, cudaAPIversions> CUDA_SOLVER_FUNCTION_VER_MAP {
{"cusolverDnLoggerSetLevel", {CUDA_117, CUDA_0, CUDA_0}},
{"cusolverDnLoggerSetMask", {CUDA_117, CUDA_0, CUDA_0}},
{"cusolverDnLoggerForceDisable", {CUDA_117, CUDA_0, CUDA_0}},
{"cusolverMgCreate", {CUDA_101, CUDA_0, CUDA_0}},
{"cusolverMgDestroy", {CUDA_101, CUDA_0, CUDA_0}},
{"cusolverMgDeviceSelect", {CUDA_101, CUDA_0, CUDA_0}},
{"cusolverMgCreateDeviceGrid", {CUDA_101, CUDA_0, CUDA_0}},
{"cusolverMgDestroyGrid", {CUDA_101, CUDA_0, CUDA_0}},
{"cusolverMgCreateMatrixDesc", {CUDA_101, CUDA_0, CUDA_0}},
{"cusolverMgSyevd_bufferSize", {CUDA_101, CUDA_0, CUDA_0}},
{"cusolverMgSyevd", {CUDA_101, CUDA_0, CUDA_0}},
{"cusolverMgGetrf_bufferSize", {CUDA_102, CUDA_0, CUDA_0}},
{"cusolverMgGetrf", {CUDA_102, CUDA_0, CUDA_0}},
{"cusolverMgGetrs_bufferSize", {CUDA_102, CUDA_0, CUDA_0}},
{"cusolverMgGetrs", {CUDA_102, CUDA_0, CUDA_0}},
{"cusolverMgPotrf_bufferSize", {CUDA_110, CUDA_0, CUDA_0}},
{"cusolverMgPotrf", {CUDA_110, CUDA_0, CUDA_0}},
{"cusolverMgPotrs_bufferSize", {CUDA_110, CUDA_0, CUDA_0}},
{"cusolverMgPotrs", {CUDA_110, CUDA_0, CUDA_0}},
{"cusolverMgPotri_bufferSize", {CUDA_110, CUDA_0, CUDA_0}},
{"cusolverMgPotri", {CUDA_110, CUDA_0, CUDA_0}},
};

const std::map<llvm::StringRef, hipAPIversions> HIP_SOLVER_FUNCTION_VER_MAP {
Expand Down
Loading

0 comments on commit 7e80296

Please sign in to comment.