Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SYCLomatic] Support 33 cublas API migration #2296

Merged
merged 34 commits into from
Oct 16, 2024
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
e136e61
WIP
zhiweij1 Aug 26, 2024
d7fa71d
Update
zhiweij1 Aug 26, 2024
83be21b
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Aug 26, 2024
e51b181
Support 8 cublas 64-bit API migration
zhiweij1 Aug 27, 2024
3d8f9a6
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Aug 28, 2024
252d1c8
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Aug 29, 2024
6ea8f54
Add more support
zhiweij1 Aug 29, 2024
66f38e8
Add tests
zhiweij1 Aug 29, 2024
6d8c25e
Adjust the code
zhiweij1 Aug 30, 2024
4746e49
Support more API migration
zhiweij1 Aug 30, 2024
d298d32
Support 4 APIs
zhiweij1 Sep 2, 2024
a063f91
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Sep 6, 2024
b55473f
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Sep 10, 2024
69803cd
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Sep 11, 2024
6c65c11
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Sep 12, 2024
6cbf703
Update
zhiweij1 Sep 12, 2024
1eee195
Fix helper
zhiweij1 Sep 13, 2024
30a1773
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Sep 19, 2024
5c8ff1d
Fix helper
zhiweij1 Sep 19, 2024
f441cd8
Update1
zhiweij1 Sep 20, 2024
a93d4f4
Fix
zhiweij1 Sep 23, 2024
e1de955
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Oct 8, 2024
e3bf7da
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Oct 9, 2024
2d39d50
Refine
zhiweij1 Oct 11, 2024
1f361ae
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Oct 11, 2024
e46a784
Fix helper
zhiweij1 Oct 11, 2024
c953618
Remove macro guard
zhiweij1 Oct 11, 2024
a3f8bdc
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Oct 14, 2024
cde4bae
Add guard for min and max
zhiweij1 Oct 14, 2024
b11e199
Update
zhiweij1 Oct 14, 2024
7a9804f
Revert "Update"
zhiweij1 Oct 14, 2024
7d5317c
Merge remote-tracking branch 'origin/SYCLomatic' into blas2
zhiweij1 Oct 14, 2024
d9367bc
Fix helper
zhiweij1 Oct 14, 2024
6f31fa1
Fix case
zhiweij1 Oct 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
235 changes: 188 additions & 47 deletions clang/lib/DPCT/APINamesCUBLAS.inc

Large diffs are not rendered by default.

66 changes: 33 additions & 33 deletions clang/lib/DPCT/APINames_cuBLAS.inc
Original file line number Diff line number Diff line change
Expand Up @@ -279,10 +279,10 @@ ENTRY(cublasCgemmEx, cublasCgemmEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasGemmEx, cublasGemmEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasGemmBatchedEx, cublasGemmBatchedEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasGemmStridedBatchedEx, cublasGemmStridedBatchedEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCsyrkEx, cublasCsyrkEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasCsyrk3mEx, cublasCsyrk3mEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasCherkEx, cublasCherkEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasCherk3mEx, cublasCherk3mEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasCsyrkEx, cublasCsyrkEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCsyrk3mEx, cublasCsyrk3mEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCherkEx, cublasCherkEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCherk3mEx, cublasCherk3mEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasNrm2Ex, cublasNrm2Ex, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasAxpyEx, cublasAxpyEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasDotEx, cublasDotEx, true, NO_FLAG, P4, "DPCT1020")
Expand Down Expand Up @@ -525,19 +525,19 @@ ENTRY(cublasDtrmm, cublasDtrmm, true, NO_FLAG, P4, "Successful")
ENTRY(cublasCtrmm, cublasCtrmm, true, NO_FLAG, P4, "Successful")
ENTRY(cublasZtrmm, cublasZtrmm, true, NO_FLAG, P4, "Successful")

ENTRY(cublasAsumEx, cublasAsumEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasAsumEx, cublasAsumEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCgemm3mBatched, cublasCgemm3mBatched, false, NO_FLAG, P4, "comment")
ENTRY(cublasCgemm3mEx, cublasCgemm3mEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasCopyEx, cublasCopyEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasCgemm3mEx, cublasCgemm3mEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCopyEx, cublasCopyEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasDotcEx, cublasDotcEx, true, NO_FLAG, P4, "Successful")
ENTRY(cublasGetCudartVersion, cublasGetCudartVersion, false, NO_FLAG, P4, "comment")
ENTRY(cublasIamaxEx, cublasIamaxEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasIaminEx, cublasIaminEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasIamaxEx, cublasIamaxEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasIaminEx, cublasIaminEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasRotEx, cublasRotEx, true, NO_FLAG, P4, "Successful")
ENTRY(cublasRotgEx, cublasRotgEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasRotmEx, cublasRotmEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasRotmEx, cublasRotmEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasRotmgEx, cublasRotmgEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasSwapEx, cublasSwapEx, false, NO_FLAG, P4, "comment")
ENTRY(cublasSwapEx, cublasSwapEx, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasUint8gemmBias, cublasUint8gemmBias, false, NO_FLAG, P4, "comment")
ENTRY(cublasXerbla, cublasXerbla, false, NO_FLAG, P4, "comment")
ENTRY(cublasXtGetNumBoards, cublasXtGetNumBoards, false, NO_FLAG, P4, "comment")
Expand Down Expand Up @@ -745,18 +745,18 @@ ENTRY(cublasSetVectorAsync_64, cublasSetVectorAsync_64, true, NO_FLAG, P4, "DPCT
ENTRY(cublasGetVectorAsync_64, cublasGetVectorAsync_64, true, NO_FLAG, P4, "DPCT1018/DPCT1020")
ENTRY(cublasSetMatrixAsync_64, cublasSetMatrixAsync_64, true, NO_FLAG, P4, "DPCT1018/DPCT1020")
ENTRY(cublasGetMatrixAsync_64, cublasGetMatrixAsync_64, true, NO_FLAG, P4, "DPCT1018/DPCT1020")
ENTRY(cublasNrm2Ex_64, cublasNrm2Ex_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasDotEx_64, cublasDotEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasDotcEx_64, cublasDotcEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasScalEx_64, cublasScalEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasAxpyEx_64, cublasAxpyEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasCopyEx_64, cublasCopyEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasSwapEx_64, cublasSwapEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasIamaxEx_64, cublasIamaxEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasIaminEx_64, cublasIaminEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasAsumEx_64, cublasAsumEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasRotEx_64, cublasRotEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasRotmEx_64, cublasRotmEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasNrm2Ex_64, cublasNrm2Ex_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasDotEx_64, cublasDotEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasDotcEx_64, cublasDotcEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasScalEx_64, cublasScalEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasAxpyEx_64, cublasAxpyEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCopyEx_64, cublasCopyEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasSwapEx_64, cublasSwapEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasIamaxEx_64, cublasIamaxEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasIaminEx_64, cublasIaminEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasAsumEx_64, cublasAsumEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasRotEx_64, cublasRotEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasRotmEx_64, cublasRotmEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasSgemvBatched_64, cublasSgemvBatched_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasDgemvBatched_64, cublasDgemvBatched_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasCgemvBatched_64, cublasCgemvBatched_64, false, NO_FLAG, P4, "comment")
Expand All @@ -774,16 +774,16 @@ ENTRY(cublasHSSgemvStridedBatched_64, cublasHSSgemvStridedBatched_64, false, NO_
ENTRY(cublasTSTgemvStridedBatched_64, cublasTSTgemvStridedBatched_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasTSSgemvStridedBatched_64, cublasTSSgemvStridedBatched_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasCgemm3m_64, cublasCgemm3m_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCgemm3mEx_64, cublasCgemm3mEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasCgemm3mEx_64, cublasCgemm3mEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasZgemm3m_64, cublasZgemm3m_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasHgemm_64, cublasHgemm_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasSgemmEx_64, cublasSgemmEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasGemmEx_64, cublasGemmEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasCgemmEx_64, cublasCgemmEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasCsyrkEx_64, cublasCsyrkEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasCsyrk3mEx_64, cublasCsyrk3mEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasCherkEx_64, cublasCherkEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasCherk3mEx_64, cublasCherk3mEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasSgemmEx_64, cublasSgemmEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasGemmEx_64, cublasGemmEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCgemmEx_64, cublasCgemmEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCsyrkEx_64, cublasCsyrkEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCsyrk3mEx_64, cublasCsyrk3mEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCherkEx_64, cublasCherkEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCherk3mEx_64, cublasCherk3mEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasSsyrkx_64, cublasSsyrkx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasDsyrkx_64, cublasDsyrkx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasCsyrkx_64, cublasCsyrkx_64, true, NO_FLAG, P4, "DPCT1020")
Expand All @@ -802,8 +802,8 @@ ENTRY(cublasDgemmStridedBatched_64, cublasDgemmStridedBatched_64, false, NO_FLAG
ENTRY(cublasCgemmStridedBatched_64, cublasCgemmStridedBatched_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasCgemm3mStridedBatched_64, cublasCgemm3mStridedBatched_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasZgemmStridedBatched_64, cublasZgemmStridedBatched_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasGemmBatchedEx_64, cublasGemmBatchedEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasGemmStridedBatchedEx_64, cublasGemmStridedBatchedEx_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasGemmBatchedEx_64, cublasGemmBatchedEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasGemmStridedBatchedEx_64, cublasGemmStridedBatchedEx_64, true, NO_FLAG, P4, "DPCT1020")
ENTRY(cublasSgemmGroupedBatched, cublasSgemmGroupedBatched, false, NO_FLAG, P4, "comment")
ENTRY(cublasSgemmGroupedBatched_64, cublasSgemmGroupedBatched_64, false, NO_FLAG, P4, "comment")
ENTRY(cublasDgemmGroupedBatched, cublasDgemmGroupedBatched, false, NO_FLAG, P4, "comment")
Expand Down
25 changes: 19 additions & 6 deletions clang/lib/DPCT/ASTTraversal.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4181,11 +4181,14 @@ void BLASFunctionCallRule::registerMatcher(MatchFinder &MF) {
"cublasSgeqrfBatched", "cublasDgeqrfBatched", "cublasCgeqrfBatched",
"cublasZgeqrfBatched", "cublasSgelsBatched", "cublasDgelsBatched",
"cublasCgelsBatched", "cublasZgelsBatched", "cublasGemmEx",
"cublasSgemmEx", "cublasCgemmEx", "cublasNrm2Ex", "cublasDotEx",
"cublasDotcEx", "cublasScalEx", "cublasAxpyEx", "cublasRotEx",
"cublasGemmBatchedEx", "cublasGemmStridedBatchedEx", "cublasSdgmm",
"cublasDdgmm", "cublasCdgmm", "cublasZdgmm", "cublasSgeam",
"cublasDgeam", "cublasCgeam", "cublasZgeam",
"cublasSgemmEx", "cublasCgemmEx", "cublasCgemm3mEx", "cublasNrm2Ex",
"cublasDotEx", "cublasDotcEx", "cublasScalEx", "cublasAxpyEx",
"cublasRotEx", "cublasGemmBatchedEx", "cublasGemmStridedBatchedEx",
"cublasSdgmm", "cublasDdgmm", "cublasCdgmm", "cublasZdgmm",
"cublasSgeam", "cublasDgeam", "cublasCgeam", "cublasZgeam",
"cublasCopyEx", "cublasSwapEx", "cublasIamaxEx", "cublasIaminEx",
"cublasAsumEx", "cublasRotmEx", "cublasCsyrkEx", "cublasCsyrk3mEx",
"cublasCherkEx", "cublasCherk3mEx",
/*Legacy API*/
"cublasInit", "cublasShutdown", "cublasGetError",
"cublasSetKernelStream", "cublasGetVersion",
Expand Down Expand Up @@ -4280,6 +4283,15 @@ void BLASFunctionCallRule::registerMatcher(MatchFinder &MF) {
"cublasCsyrkx_64", "cublasZsyrkx_64", "cublasCherkx_64",
"cublasZherkx_64", "cublasHgemm_64", "cublasCgemm3m_64",
"cublasZgemm3m_64",
/*extension*/
"cublasNrm2Ex_64", "cublasDotEx_64", "cublasDotcEx_64",
"cublasScalEx_64", "cublasAxpyEx_64", "cublasRotEx_64",
"cublasGemmBatchedEx_64", "cublasGemmStridedBatchedEx_64",
"cublasCopyEx_64", "cublasSwapEx_64", "cublasIamaxEx_64",
"cublasIaminEx_64", "cublasAsumEx_64", "cublasRotmEx_64",
"cublasSgemmEx_64", "cublasCgemmEx_64", "cublasCgemm3mEx_64",
"cublasGemmEx_64", "cublasCsyrkEx_64", "cublasCsyrk3mEx_64",
"cublasCherkEx_64", "cublasCherk3mEx_64",
/*cublasLt*/
"cublasLtCreate", "cublasLtDestroy", "cublasLtMatmulDescCreate",
"cublasLtMatmulDescDestroy", "cublasLtMatmulDescSetAttribute",
Expand Down Expand Up @@ -4448,7 +4460,8 @@ void BLASFunctionCallRule::runRule(const MatchFinder::MatchResult &Result) {
FuncName == "cublasDgemmBatched" || FuncName == "cublasCgemmBatched" ||
FuncName == "cublasZgemmBatched" || FuncName == "cublasStrsmBatched" ||
FuncName == "cublasDtrsmBatched" || FuncName == "cublasCtrsmBatched" ||
FuncName == "cublasZtrsmBatched" || FuncName == "cublasGemmBatchedEx")) {
FuncName == "cublasZtrsmBatched" || FuncName == "cublasGemmBatchedEx" ||
FuncName == "cublasGemmBatchedEx_64")) {
report(FuncNameBegin, Diagnostics::API_NOT_MIGRATED, false, FuncName);
return;
}
Expand Down
Loading
Loading