Skip to content

Commit

Permalink
[HIPIFY][ROCm#675][ROCm#677][SOLVER][feature] cuSOLVER support - St…
Browse files Browse the repository at this point in the history
…ep 14 - Functions (DN)

+ `hipsolverDn(ZZ|CC|DD|SS)gesv_bufferSize` are `SUPPORTED`
+ `cusolverDnZ(C|K|E|Y)gesv_bufferSize`, `cusolverDnC(E|K|Y)gesv_bufferSize`, `cusolverDnD(S|H|B|X)gesv_bufferSize`, and `cusolverDnS(H|B|X)gesv_bufferSize` are `UNSUPPORTED`
+ [NOTE] rocsolver_(z|c|d|s)gesv has a harness of `rocblas_start_device_memory_size_query`, `rocsolver_(z|c|d|s)gesv_outofplace`, and `rocblas_stop_device_memory_size_query` thus `UNSUPPORTED`
+ Updated `SOLVER` synthetic tests, the regenerated hipify-perl, and `SOLVER` `CUDA2HIP` documentation
  • Loading branch information
emankov committed Nov 22, 2023
1 parent 3bb0942 commit 79a3db0
Show file tree
Hide file tree
Showing 6 changed files with 152 additions and 8 deletions.
34 changes: 30 additions & 4 deletions bin/hipify-perl
Original file line number Diff line number Diff line change
Expand Up @@ -1080,17 +1080,25 @@ my %experimental_funcs = (
"cusolverEigType_t" => "6.1.0",
"cusolverEigRange_t" => "6.1.0",
"cusolverEigMode_t" => "6.1.0",
"cusolverDnZZgesv_bufferSize" => "6.1.0",
"cusolverDnZZgesv" => "6.1.0",
"cusolverDnSgetrs" => "6.1.0",
"cusolverDnSgetrf_bufferSize" => "6.1.0",
"cusolverDnSgetrf" => "6.1.0",
"cusolverDnSetStream" => "6.1.0",
"cusolverDnSSgesv_bufferSize" => "6.1.0",
"cusolverDnSSgesv" => "6.1.0",
"cusolverDnHandle_t" => "6.1.0",
"cusolverDnGetStream" => "6.1.0",
"cusolverDnDgetrs" => "6.1.0",
"cusolverDnDgetrf_bufferSize" => "6.1.0",
"cusolverDnDgetrf" => "6.1.0",
"cusolverDnDestroy" => "6.1.0",
"cusolverDnDDgesv_bufferSize" => "6.1.0",
"cusolverDnDDgesv" => "6.1.0",
"cusolverDnCreate" => "6.1.0",
"cusolverDnCCgesv_bufferSize" => "6.1.0",
"cusolverDnCCgesv" => "6.1.0",
"CUSOLVER_STATUS_ZERO_PIVOT" => "6.1.0",
"CUSOLVER_STATUS_SUCCESS" => "6.1.0",
"CUSOLVER_STATUS_NOT_SUPPORTED" => "6.1.0",
Expand Down Expand Up @@ -1246,16 +1254,24 @@ sub subst {
}

sub experimentalSubstitutions {
subst("cusolverDnCCgesv", "hipsolverDnCCgesv", "library");
subst("cusolverDnCCgesv_bufferSize", "hipsolverDnCCgesv_bufferSize", "library");
subst("cusolverDnCreate", "hipsolverDnCreate", "library");
subst("cusolverDnDDgesv", "hipsolverDnDDgesv", "library");
subst("cusolverDnDDgesv_bufferSize", "hipsolverDnDDgesv_bufferSize", "library");
subst("cusolverDnDestroy", "hipsolverDnDestroy", "library");
subst("cusolverDnDgetrf", "hipsolverDnDgetrf", "library");
subst("cusolverDnDgetrf_bufferSize", "hipsolverDnDgetrf_bufferSize", "library");
subst("cusolverDnDgetrs", "hipsolverDnDgetrs", "library");
subst("cusolverDnGetStream", "hipsolverGetStream", "library");
subst("cusolverDnSSgesv", "hipsolverDnSSgesv", "library");
subst("cusolverDnSSgesv_bufferSize", "hipsolverDnSSgesv_bufferSize", "library");
subst("cusolverDnSetStream", "hipsolverSetStream", "library");
subst("cusolverDnSgetrf", "hipsolverDnSgetrf", "library");
subst("cusolverDnSgetrf_bufferSize", "hipsolverDnSgetrf_bufferSize", "library");
subst("cusolverDnSgetrs", "hipsolverDnSgetrs", "library");
subst("cusolverDnZZgesv", "hipsolverDnZZgesv", "library");
subst("cusolverDnZZgesv_bufferSize", "hipsolverDnZZgesv_bufferSize", "library");
subst("cusolverDnHandle_t", "hipsolverHandle_t", "type");
subst("cusolverEigMode_t", "hipsolverEigMode_t", "type");
subst("cusolverEigRange_t", "hipsolverEigRange_t", "type");
Expand Down Expand Up @@ -3617,10 +3633,6 @@ sub simpleSubstitutions {
subst("curandSetPseudoRandomGeneratorSeed", "hiprandSetPseudoRandomGeneratorSeed", "library");
subst("curandSetQuasiRandomGeneratorDimensions", "hiprandSetQuasiRandomGeneratorDimensions", "library");
subst("curandSetStream", "hiprandSetStream", "library");
subst("cusolverDnCCgesv", "hipsolverDnCCgesv", "library");
subst("cusolverDnDDgesv", "hipsolverDnDDgesv", "library");
subst("cusolverDnSSgesv", "hipsolverDnSSgesv", "library");
subst("cusolverDnZZgesv", "hipsolverDnZZgesv", "library");
subst("cusparseAxpby", "hipsparseAxpby", "library");
subst("cusparseBlockedEllGet", "hipsparseBlockedEllGet", "library");
subst("cusparseCaxpyi", "hipsparseCaxpyi", "library");
Expand Down Expand Up @@ -7098,17 +7110,24 @@ sub warnUnsupportedFunctions {
"cusolverPrecType_t",
"cusolverNorm_t",
"cusolverIRSRefinement_t",
"cusolverDnZYgesv_bufferSize",
"cusolverDnZYgesv",
"cusolverDnZKgesv_bufferSize",
"cusolverDnZKgesv",
"cusolverDnZEgesv_bufferSize",
"cusolverDnZEgesv",
"cusolverDnZCgesv_bufferSize",
"cusolverDnZCgesv",
"cusolverDnXgetrs",
"cusolverDnXgetrf_bufferSize",
"cusolverDnXgetrf",
"cusolverDnSetDeterministicMode",
"cusolverDnSetAdvOptions",
"cusolverDnSXgesv_bufferSize",
"cusolverDnSXgesv",
"cusolverDnSHgesv_bufferSize",
"cusolverDnSHgesv",
"cusolverDnSBgesv_bufferSize",
"cusolverDnSBgesv",
"cusolverDnParams_t",
"cusolverDnParams",
Expand Down Expand Up @@ -7138,14 +7157,21 @@ sub warnUnsupportedFunctions {
"cusolverDnIRSInfos",
"cusolverDnGetDeterministicMode",
"cusolverDnFunction_t",
"cusolverDnDXgesv_bufferSize",
"cusolverDnDXgesv",
"cusolverDnDSgesv_bufferSize",
"cusolverDnDSgesv",
"cusolverDnDHgesv_bufferSize",
"cusolverDnDHgesv",
"cusolverDnDBgesv_bufferSize",
"cusolverDnDBgesv",
"cusolverDnCreateParams",
"cusolverDnContext",
"cusolverDnCYgesv_bufferSize",
"cusolverDnCYgesv",
"cusolverDnCKgesv_bufferSize",
"cusolverDnCKgesv",
"cusolverDnCEgesv_bufferSize",
"cusolverDnCEgesv",
"cusolverDirectMode_t",
"cusolverDeterministicMode_t",
Expand Down
18 changes: 18 additions & 0 deletions docs/tables/CUSOLVER_API_supported_by_HIP.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,16 +109,25 @@
|**CUDA**|**A**|**D**|**C**|**R**|**HIP**|**A**|**D**|**C**|**R**|**E**|
|:--|:-:|:-:|:-:|:-:|:--|:-:|:-:|:-:|:-:|:-:|
|`cusolverDnCCgesv`|10.2| | | |`hipsolverDnCCgesv`|5.1.0| | | |6.1.0|
|`cusolverDnCCgesv_bufferSize`|10.2| | | |`hipsolverDnCCgesv_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnCEgesv`|11.0| | | | | | | | | |
|`cusolverDnCEgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnCKgesv`|10.2| | | | | | | | | |
|`cusolverDnCKgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnCYgesv`|11.0| | | | | | | | | |
|`cusolverDnCYgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnCreate`| | | | |`hipsolverDnCreate`|5.1.0| | | |6.1.0|
|`cusolverDnCreateParams`|11.0| | | | | | | | | |
|`cusolverDnDBgesv`|11.0| | | | | | | | | |
|`cusolverDnDBgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnDDgesv`|10.2| | | |`hipsolverDnDDgesv`|5.1.0| | | |6.1.0|
|`cusolverDnDDgesv_bufferSize`|10.2| | | |`hipsolverDnDDgesv_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnDHgesv`|10.2| | | | | | | | | |
|`cusolverDnDHgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnDSgesv`|10.2| | | | | | | | | |
|`cusolverDnDSgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnDXgesv`|11.0| | | | | | | | | |
|`cusolverDnDXgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnDestroy`| | | | |`hipsolverDnDestroy`|5.1.0| | | |6.1.0|
|`cusolverDnDgetrf`| | | | |`hipsolverDnDgetrf`|5.1.0| | | |6.1.0|
|`cusolverDnDgetrf_bufferSize`| | | | |`hipsolverDnDgetrf_bufferSize`|5.1.0| | | |6.1.0|
Expand Down Expand Up @@ -146,9 +155,13 @@
|`cusolverDnIRSParamsSetTol`|10.2| | | | | | | | | |
|`cusolverDnIRSParamsSetTolInner`|10.2| | | | | | | | | |
|`cusolverDnSBgesv`|11.0| | | | | | | | | |
|`cusolverDnSBgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnSHgesv`|10.2| | | | | | | | | |
|`cusolverDnSHgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnSSgesv`|10.2| | | |`hipsolverDnSSgesv`|5.1.0| | | |6.1.0|
|`cusolverDnSSgesv_bufferSize`|10.2| | | |`hipsolverDnSSgesv_bufferSize`|5.1.0| | | |6.1.0|
|`cusolverDnSXgesv`|11.0| | | | | | | | | |
|`cusolverDnSXgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnSetAdvOptions`|11.0| | | | | | | | | |
|`cusolverDnSetDeterministicMode`|12.2| | | | | | | | | |
|`cusolverDnSetStream`| | | | |`hipsolverSetStream`|4.5.0| | | |6.1.0|
Expand All @@ -159,10 +172,15 @@
|`cusolverDnXgetrf_bufferSize`|11.1| | | | | | | | | |
|`cusolverDnXgetrs`|11.1| | | | | | | | | |
|`cusolverDnZCgesv`|10.2| | | | | | | | | |
|`cusolverDnZCgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnZEgesv`|11.0| | | | | | | | | |
|`cusolverDnZEgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnZKgesv`|10.2| | | | | | | | | |
|`cusolverDnZKgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnZYgesv`|11.0| | | | | | | | | |
|`cusolverDnZYgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnZZgesv`|10.2| | | |`hipsolverDnZZgesv`|5.1.0| | | |6.1.0|
|`cusolverDnZZgesv_bufferSize`|10.2| | | |`hipsolverDnZZgesv_bufferSize`|5.1.0| | | |6.1.0|


\*A - Added; D - Deprecated; C - Changed; R - Removed; E - Experimental
18 changes: 18 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 @@ -109,16 +109,25 @@
|**CUDA**|**A**|**D**|**C**|**R**|**HIP**|**A**|**D**|**C**|**R**|**E**|**ROC**|**A**|**D**|**C**|**R**|**E**|
|:--|:-:|:-:|:-:|:-:|:--|:-:|:-:|:-:|:-:|:-:|:--|:-:|:-:|:-:|:-:|:-:|
|`cusolverDnCCgesv`|10.2| | | |`hipsolverDnCCgesv`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnCCgesv_bufferSize`|10.2| | | |`hipsolverDnCCgesv_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnCEgesv`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnCEgesv_bufferSize`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnCKgesv`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnCKgesv_bufferSize`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnCYgesv`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnCYgesv_bufferSize`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnCreate`| | | | |`hipsolverDnCreate`|5.1.0| | | |6.1.0|`rocblas_create_handle`| | | | | |
|`cusolverDnCreateParams`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnDBgesv`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnDBgesv_bufferSize`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnDDgesv`|10.2| | | |`hipsolverDnDDgesv`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnDDgesv_bufferSize`|10.2| | | |`hipsolverDnDDgesv_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnDHgesv`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnDHgesv_bufferSize`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnDSgesv`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnDSgesv_bufferSize`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnDXgesv`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnDXgesv_bufferSize`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnDestroy`| | | | |`hipsolverDnDestroy`|5.1.0| | | |6.1.0|`rocblas_destroy_handle`| | | | | |
|`cusolverDnDgetrf`| | | | |`hipsolverDnDgetrf`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnDgetrf_bufferSize`| | | | |`hipsolverDnDgetrf_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
Expand Down Expand Up @@ -146,9 +155,13 @@
|`cusolverDnIRSParamsSetTol`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnIRSParamsSetTolInner`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnSBgesv`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnSBgesv_bufferSize`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnSHgesv`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnSHgesv_bufferSize`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnSSgesv`|10.2| | | |`hipsolverDnSSgesv`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnSSgesv_bufferSize`|10.2| | | |`hipsolverDnSSgesv_bufferSize`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnSXgesv`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnSXgesv_bufferSize`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnSetAdvOptions`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnSetDeterministicMode`|12.2| | | | | | | | | | | | | | | |
|`cusolverDnSetStream`| | | | |`hipsolverSetStream`|4.5.0| | | |6.1.0|`rocblas_set_stream`| | | | | |
Expand All @@ -159,10 +172,15 @@
|`cusolverDnXgetrf_bufferSize`|11.1| | | | | | | | | | | | | | | |
|`cusolverDnXgetrs`|11.1| | | | | | | | | | | | | | | |
|`cusolverDnZCgesv`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnZCgesv_bufferSize`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnZEgesv`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnZEgesv_bufferSize`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnZKgesv`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnZKgesv_bufferSize`|10.2| | | | | | | | | | | | | | | |
|`cusolverDnZYgesv`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnZYgesv_bufferSize`|11.0| | | | | | | | | | | | | | | |
|`cusolverDnZZgesv`|10.2| | | |`hipsolverDnZZgesv`|5.1.0| | | |6.1.0| | | | | | |
|`cusolverDnZZgesv_bufferSize`|10.2| | | |`hipsolverDnZZgesv_bufferSize`|5.1.0| | | |6.1.0| | | | | | |


\*A - Added; D - Deprecated; C - Changed; R - Removed; E - Experimental
18 changes: 18 additions & 0 deletions docs/tables/CUSOLVER_API_supported_by_ROC.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,16 +109,25 @@
|**CUDA**|**A**|**D**|**C**|**R**|**ROC**|**A**|**D**|**C**|**R**|**E**|
|:--|:-:|:-:|:-:|:-:|:--|:-:|:-:|:-:|:-:|:-:|
|`cusolverDnCCgesv`|10.2| | | | | | | | | |
|`cusolverDnCCgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnCEgesv`|11.0| | | | | | | | | |
|`cusolverDnCEgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnCKgesv`|10.2| | | | | | | | | |
|`cusolverDnCKgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnCYgesv`|11.0| | | | | | | | | |
|`cusolverDnCYgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnCreate`| | | | |`rocblas_create_handle`| | | | | |
|`cusolverDnCreateParams`|11.0| | | | | | | | | |
|`cusolverDnDBgesv`|11.0| | | | | | | | | |
|`cusolverDnDBgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnDDgesv`|10.2| | | | | | | | | |
|`cusolverDnDDgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnDHgesv`|10.2| | | | | | | | | |
|`cusolverDnDHgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnDSgesv`|10.2| | | | | | | | | |
|`cusolverDnDSgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnDXgesv`|11.0| | | | | | | | | |
|`cusolverDnDXgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnDestroy`| | | | |`rocblas_destroy_handle`| | | | | |
|`cusolverDnDgetrf`| | | | | | | | | | |
|`cusolverDnDgetrf_bufferSize`| | | | | | | | | | |
Expand Down Expand Up @@ -146,9 +155,13 @@
|`cusolverDnIRSParamsSetTol`|10.2| | | | | | | | | |
|`cusolverDnIRSParamsSetTolInner`|10.2| | | | | | | | | |
|`cusolverDnSBgesv`|11.0| | | | | | | | | |
|`cusolverDnSBgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnSHgesv`|10.2| | | | | | | | | |
|`cusolverDnSHgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnSSgesv`|10.2| | | | | | | | | |
|`cusolverDnSSgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnSXgesv`|11.0| | | | | | | | | |
|`cusolverDnSXgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnSetAdvOptions`|11.0| | | | | | | | | |
|`cusolverDnSetDeterministicMode`|12.2| | | | | | | | | |
|`cusolverDnSetStream`| | | | |`rocblas_set_stream`| | | | | |
Expand All @@ -159,10 +172,15 @@
|`cusolverDnXgetrf_bufferSize`|11.1| | | | | | | | | |
|`cusolverDnXgetrs`|11.1| | | | | | | | | |
|`cusolverDnZCgesv`|10.2| | | | | | | | | |
|`cusolverDnZCgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnZEgesv`|11.0| | | | | | | | | |
|`cusolverDnZEgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnZKgesv`|10.2| | | | | | | | | |
|`cusolverDnZKgesv_bufferSize`|10.2| | | | | | | | | |
|`cusolverDnZYgesv`|11.0| | | | | | | | | |
|`cusolverDnZYgesv_bufferSize`|11.0| | | | | | | | | |
|`cusolverDnZZgesv`|10.2| | | | | | | | | |
|`cusolverDnZZgesv_bufferSize`|10.2| | | | | | | | | |


\*A - Added; D - Deprecated; C - Changed; R - Removed; E - Experimental
Loading

0 comments on commit 79a3db0

Please sign in to comment.