-
Notifications
You must be signed in to change notification settings - Fork 102
[HIPIFY][8.0][FILE][feature][Linux] Initial support of cuFile to hipFile hipification
#2174
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
base: amd-develop
Are you sure you want to change the base?
Conversation
| {"CUFILE_ERRSTR", {CUDA_129, CUDA_0, CUDA_0}}, | ||
| {"CUDA_DRV_ERR", {CUDA_129, CUDA_0, CUDA_0}}, | ||
| {"IS_CUDA_ERR", {CUDA_129, CUDA_0, CUDA_0}}, | ||
| }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We just used version placeholders, so this will probably need some fixing.
cuFile to hipFile and rocFile hipification
cuFile to hipFile and rocFile hipificationcuFile to hipFile and rocFile hipification
cuFile to hipFile and rocFile hipificationcuFile to hipFile and rocFile hipification
| const string sHIPFILE = "cuFile_API_supported_by_HIP"; | ||
| const string sHIPFILE_md = sHIPFILE + md_ext; | ||
| const string sHIPFILE_csv = sHIPFILE + csv_ext; | ||
| const string sHIPFILE_and_ROC_md = sHIPFILE + sandROC + md_ext; | ||
| const string sHIPFILE_and_ROC_csv = sHIPFILE + sandROC + csv_ext; | ||
| const string sROCFILE = "cuFile_API_supported_by_ROC"; | ||
| const string sROCFILE_md = sROCFILE + md_ext; | ||
| const string sROCFILE_csv = sROCFILE + csv_ext; | ||
| const string sCUFILE = "cuFile"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| const string sHIPFILE = "cuFile_API_supported_by_HIP"; | |
| const string sHIPFILE_md = sHIPFILE + md_ext; | |
| const string sHIPFILE_csv = sHIPFILE + csv_ext; | |
| const string sHIPFILE_and_ROC_md = sHIPFILE + sandROC + md_ext; | |
| const string sHIPFILE_and_ROC_csv = sHIPFILE + sandROC + csv_ext; | |
| const string sROCFILE = "cuFile_API_supported_by_ROC"; | |
| const string sROCFILE_md = sROCFILE + md_ext; | |
| const string sROCFILE_csv = sROCFILE + csv_ext; | |
| const string sCUFILE = "cuFile"; | |
| const string sHIPFILE = "cuFile_API_supported_by_HIP"; |
Could we keep same format as before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How is the format different? I think I just copied one of the other libraries that has both hip and roc flavors (perhaps hipSolver/rocSover) because we have both hipFile and rocFile and would like to support both.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess the request was to keep the existing formatting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How is the format different? I think I just copied one of the other libraries that has both hip and roc flavors (perhaps hipSolver/rocSover) because we have both hipFile and rocFile and would like to support both.
| const string sHIPFILE = "cuFile_API_supported_by_HIP"; | |
| const string sHIPFILE_md = sHIPFILE + md_ext; | |
| const string sHIPFILE_csv = sHIPFILE + csv_ext; | |
| const string sHIPFILE_and_ROC_md = sHIPFILE + sandROC + md_ext; | |
| const string sHIPFILE_and_ROC_csv = sHIPFILE + sandROC + csv_ext; | |
| const string sROCFILE = "cuFile_API_supported_by_ROC"; | |
| const string sROCFILE_md = sROCFILE + md_ext; | |
| const string sROCFILE_csv = sROCFILE + csv_ext; | |
| const string sCUFILE = "cuFile"; | |
| const string sHIPFILE = "cuFile_API_supported_by_HIP"; |
I meant to use existing format.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this all okay now?
|
@derobins, could you please let us know the first CUDA version in which gds-nvidia-fs (with cuFile in it) appeared in the CUDA Toolkit Linux distribution? |
It looks like cuFile was released with CUDA 11.4.0. I don't see a cuFile section in the 11.3.x docs. It's confusing, though - 11.3 and 11.2 mention the library and header file in the list of things that are included, but there's no API documentation. Maybe the answer is 11.2? https://docs.nvidia.com/cuda/archive/11.4.0/cufile-api/index.html We'll have to grab header files from the various CUDA releases to see how the API has evolved and when new API calls were introduced. |
|
@derobins, I'll detect the former versions in the fs releases a bit later. |
84a81c0 to
5d5cd1d
Compare
cuFile to hipFile and rocFile hipificationcuFile to hipFile hipification
src/CUDA2HIP_FILE_API_functions.cpp
Outdated
| }; | ||
|
|
||
| const std::map<llvm::StringRef, hipAPIChangedVersions> HIP_FILE_FUNCTION_CHANGED_VER_MAP { | ||
| {"hipFileHandleRegister", {HIP_0}}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{HIP_8000, HIP_0, HIP_0, HIP_8000}},,
or
{HIP_7000, HIP_0, HIP_0}},,
if hipFile were really shipped with HIP 7.0.0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
HIP_8000 is probably the right value, but the enum stops at HIP_7020 and I don't see any HIPIFY branches that look like they are prep for ROCm 8.0.
These have been removed from hipFile and/or will not be hipified.
AIROCFILE-7
AIROCFILE-15
Adds types and API calls from ROCm/hipFile: