Commit Graph

347 Commits

Author SHA1 Message Date
Rahul Garg ff421fb2d2 Add hipDrvOccupancyMaxActiveBlocksPerMultiprocessor[WithFlags] (#1854)
Equivalent to cuOccupancyMaxActiveBlocksPerMultiprocessor[WithFlags].

[ROCm/clr commit: 1c794045e0]
2020-02-28 16:46:55 +05:30
Aryan Salmanpour 44ce519211 resolve merge conflict
[ROCm/clr commit: dfa565d76f]
2020-02-10 10:30:55 -05:00
Evgeny Mankov a148a87614 [HIPIFY] Fix build failure against ToT trunk LLVM 11.0.0
+ Add an explicit cast when assigning StringRef to std::string


[ROCm/clr commit: c396b5b6e5]
2020-02-01 14:41:16 +03:00
Aryan Salmanpour cbefd62db9 code clean up
[ROCm/clr commit: 75572a4175]
2020-01-31 13:08:25 -05:00
Aryan Salmanpour 2733df36b5 [HIP][HIPIFY] Add some missing flags for cooperative launch and occupancy APIs
[ROCm/clr commit: 6db9b782be]
2020-01-30 15:05:53 -05:00
Evgeny Mankov 43ee24a0cf [HIPIFY][#1819] Fix for not found clang's system header files
Use absolute paths instead of relative ones.


[ROCm/clr commit: 5fae88f84b]
2020-01-27 12:37:26 +03:00
Evgeny Mankov d7647096f6 [HIPIFY][fix] Add "--" separator in-place if needed
[ROCm/clr commit: df563c966c]
2020-01-13 18:49:28 +03:00
Evgeny Mankov 271c1447e2 [HIPIFY] Sync with hipSPARSE
+ Update hipify-perl and doc accordingly


[ROCm/clr commit: 41beed4839]
2020-01-13 18:34:10 +03:00
Evgeny Mankov d1d680a1d6 [HIP] Unify hipError_t (Step 3): Sync nvcc path (#1778)
* [HIP] Unify hipError_t (Step 3): Sync nvcc path

* [HIP][fix] Add CUDA 10.x support to nvcc path


[ROCm/clr commit: 9c2fcff9ce]
2020-01-10 13:47:18 +05:30
Evgeny Mankov 3181aa0e65 [HIPIFY] main source file refactoring
[ROCm/clr commit: 8fbbaf3779]
2020-01-07 16:25:18 +03:00
Evgeny Mankov e25a6a39a3 [HIP] Unify hipError_t (Step 2)
Step 2. Make a few hipError codes deprecated
Update hipify-clang, hipify-perl, docs and samples accordingly


[ROCm/clr commit: 9ae76609a1]
2019-12-22 02:05:31 +03:00
Evgeny Mankov 0bd42da319 Merge pull request #1739 from emankov/hipify-clang
[HIP] Unify hipError_t (Step 1)

[ROCm/clr commit: 08f1c8edf3]
2019-12-19 07:57:02 +03:00
Evgeny Mankov abcc1db917 [HIPIFY] Revise HIP runtime
+ hipMemAllocHost is deprecated, use hipHostMalloc instead
+ hipMemAllocManaged -> hipMallocManaged
+ hipFreeHost -> hipHostFree
+ cudaMemset3D(Async) -> hipMemset3D(Async)
+ update docs and hipify-perl accordingly


[ROCm/clr commit: 1108ef06e1]
2019-12-16 20:09:55 +03:00
Evgeny Mankov 6c0241f539 [HIP] Unify hipError_t (Step 1)
Step 1. Set the same values for RT error codes as for analogous Driver's

[Reason] RT's and Driver's error codes unification in CUDA 10.2


[ROCm/clr commit: 21b0f64f3a]
2019-12-13 19:40:16 +03:00
Evgeny Mankov 7480c5aace [HIPIFY][BLAS] Sync with cuBlas/rocblas/hipBlas
[ROCm/clr commit: c7bea1f865]
2019-12-12 19:52:18 +03:00
Evgeny Mankov 6400f2f967 [HIPIFY] Add cleanupHipifyOptions functionality
Needed for sorting input files to avoid clang errors on unsupported options


[ROCm/clr commit: 486ec185e7]
2019-12-08 15:13:28 +03:00
Evgeny Mankov e374b3d356 [HIPIFY] main source file refactoring
[ROCm/clr commit: 72b1d16115]
2019-12-07 13:50:13 +03:00
Evgeny Mankov 15d0c4b58b [HIPIFY][fix][#1246][#1655] Sort input files based on their dependency graph
+ Implemented by using clang Driver infrastructure

[ToDo] Add tests for in-place hipification of multiple files


[ROCm/clr commit: ef405daaee]
2019-12-07 11:20:17 +03:00
Evgeny Mankov 8477ab5d86 [HIPIFY] CUDA 10.2 (functions only)
+ Both Driver API and RT API are supported and synced with each other
+ Update *.md docs and hipify-perl accordingly
+ Add new conversion type "virtual_memory", introduced in Dirver API


[ROCm/clr commit: 43441eb99c]
2019-12-04 18:37:31 +03:00
Evgeny Mankov f6da983c96 [HIPIFY] CUDA 10.2 fp_16 support
[ROCm/clr commit: 721a8540c0]
2019-12-04 13:27:46 +03:00
Evgeny Mankov deaf478ced [HIPIFY] CUDA 10.2 support (data types only)
+ Both Driver API and RT API are supported and synced with each other
+ Update *.md docs and hipify-perl accordingly


[ROCm/clr commit: 33f81effb1]
2019-12-04 12:25:20 +03:00
Evgeny Mankov 5317d618d1 [HIPIFY] Sync cudaError/CUresult between CUDA Driver API/CUDA RT API/HIP
+ Update *.md docs and hipify-perl accordingly

[Reason]
Starting with CUDA 10.1 all error codes are merged between Driver and RT APIs

[ToDo]
Do the same merge in HIP API as there is no need in distinguishing return codes by API


[ROCm/clr commit: 636108aaa9]
2019-11-29 19:29:11 +03:00
Shyam Saladi 84953da127 [HIPIFY] fix typo (#1681)
[ROCm/clr commit: 562336e733]
2019-11-22 07:54:37 +05:30
Evgeny Mankov 62b86d1c76 [HIPIFY] Clang style formatting
[ROCm/clr commit: 7f143585f6]
2019-11-07 12:48:05 +03:00
Evgeny Mankov db5f0b0237 [HIPIFY][fix] Delete canCompileHostAndDeviceInOneJob declaration as well
[ROCm/clr commit: 4d2424ad36]
2019-11-07 11:32:53 +03:00
Evgeny Mankov be483c4b3e [HIPIFY][fix] Abandon canCompileHostAndDeviceInOneJob check for --cuda-compile-host-device option
[Reason] It turned out that it is not so: 2 jobs are always


[ROCm/clr commit: 21c3d25403]
2019-11-07 11:30:40 +03:00
Evgeny Mankov ba52f11231 [HIPIFY] Reorder options propagation to clang
[Reason] Leave overriding opportunity for -D, -std=c++XX, etc.


[ROCm/clr commit: f18e63b8a9]
2019-11-07 11:21:06 +03:00
Evgeny Mankov c3a76d58da [HIPIFY][Win][fix] canCompileHostAndDeviceInOneJob is true only for LLVM >= 10
[ROCm/clr commit: 97a0670d29]
2019-11-06 19:25:42 +03:00
Evgeny Mankov 4ef69e128b [HIPIFY][format] Apply clang style formatting in LLVMCompat
[ROCm/clr commit: 4cad5fab78]
2019-11-06 14:43:22 +03:00
Evgeny Mankov bb93c0b039 [HIPIFY] Add a compatibility for CharSourceRange if LLVM < 7
[ROCm/clr commit: 3dcae8760d]
2019-11-06 14:30:39 +03:00
Evgeny Mankov ecad81b794 Merge pull request #1624 from emankov/hipify
[HIPIFY][#1409] Fix for kernel launch macro expansion

[ROCm/clr commit: cf5d1caab3]
2019-11-05 14:04:51 +03:00
Evgeny Mankov 3889be3031 [HIPIFY][#1409] Fix for kernel launch macro expansion
+ Add a corresponding test kernel_launch_01.cu
+ Add isBefore() check to avoid crash on Replacement with negative length

TODO:
+ Compatibility with former LLVM versions
+ More complicated kernel launch tests


[ROCm/clr commit: a1c380f38d]
2019-11-05 14:00:13 +03:00
Evgeny Mankov bc9690328f [HIPIFY] Introduce --cuda-gpu-arch as hipify-clang's option
+ Pass it to clang if specified


[ROCm/clr commit: 7142b884ab]
2019-11-02 14:19:31 +03:00
Evgeny Mankov 43d286e9ce [HIPIFY][CUB][#1460][perl] Add "cub::" namespace prefix support in hipify-perl as well
[ROCm/clr commit: c5a2a2daf2]
2019-11-01 14:34:18 +03:00
Evgeny Mankov dc0186720c [HIPIFY][#1603] Fix
[ROCm/clr commit: 050fdad7b7]
2019-10-29 22:10:36 +03:00
Evgeny Mankov d8e846fc91 [HIPIFY][Linux] Rollback --cuda-compile-host-device on Linux
[Reason] It doesn't work with LLVM 9 and higher; Windows is fine


[ROCm/clr commit: dd2243f2fa]
2019-10-29 20:53:54 +03:00
Evgeny Mankov 21d798394a [HIPIFY] Introduce --cuda-compile-host-device for LLVM >= 9
* LLVM < 9 continues using --cuda-host-only


[ROCm/clr commit: 411b18a124]
2019-10-29 19:42:53 +03:00
Evgeny Mankov bb75fa46f0 [HIPIFY] cudaMemcpy2DFromArray(Async) support
[ROCm/clr commit: 5dd00bdf52]
2019-10-29 19:12:42 +03:00
Evgeny Mankov 0896e41987 [HIPIFY] Disable delayed template parsing
By implicit unconditional passing -fno-delayed-template-parsing option (which appeared in LLVM 3.8.0, thus doesn't need compatibility wrapping) to hipify-clang.

[Reason] To parse uncalled template functions otherwise they are not parsed without calling, thus not hipified.

Affects cub_03.cu test, which has uncalled global template function.


[ROCm/clr commit: 7ab06b3892]
2019-10-22 19:07:37 +03:00
Evgeny Mankov 82222bf945 [HIPIFY][#1569] Fix
[ROCm/clr commit: e2191e23e6]
2019-10-22 11:08:37 +03:00
Evgeny Mankov de849a44e7 [HIPIFY][perl] Support of 'using namespace cub'
[ROCm/clr commit: 9633cdbd8a]
2019-10-21 17:15:05 +03:00
Evgeny Mankov 85281b1d86 [HIPIFY][CUB][#1460] Add "using namespace cub" translation support
+ Add cub_03.cu


[ROCm/clr commit: 86f6756b02]
2019-10-18 18:51:40 +03:00
Evgeny Mankov b357301610 [HIPIFY][CUB][#1460] Add cub:: namespace support in TemplateInstantiation of cudaLaunchKernel
+ Update cub_02.cu test accordingly


[ROCm/clr commit: e557563947]
2019-10-16 19:02:13 +03:00
Evgeny Mankov 97f10790eb [HIPIFY] Refactor a couple of matcher functions
+ Separate out GetSubstrLocation function for finding substr SourceLocation in a given SourceRange


[ROCm/clr commit: 0a20048759]
2019-10-16 13:43:56 +03:00
Evgeny Mankov 643a8bcf5b [HIPIFY][CUB][#1460] Implement cubFunctionTemplateDecl matcher
+ Add cub_02.cu test
+ Partial fixes #1460


[ROCm/clr commit: 5555d46e66]
2019-10-16 13:08:11 +03:00
Evgeny Mankov 15d2744450 [HIPIFY] HipifyAction code clean-up
[ROCm/clr commit: 0025c24fe9]
2019-10-14 18:08:29 +03:00
Evgeny Mankov 4b51111a1d [HIPIFY][build fix] Add missing new source file
[ROCm/clr commit: 01ae988fab]
2019-10-14 16:32:57 +03:00
Evgeny Mankov e066bba058 [HIPIFY][CUB] Initial support (hipify-clang only)
+ Add one matcher (will be more)
+ Update Maps and Statistics
+ Add cub_01.cu unit test
+ Update lit harness to support standalone CUB
+ Update README.md
+ Update hipify-perl (only CUB header is supported for now)

[IMPORTANT]
clang (and hipify-clang) works correctly only with official NVLabs version on GitHub.
Compilation of CUB from official CUDA release has conflicts with THRUST.
Thus, to compile CUB sources, option "-I" should be specified to the cloned CUB from NVLAB on GitHub.


[ROCm/clr commit: 97df38903a]
2019-10-14 11:55:55 +03:00
Evgeny Mankov 84e74b1b6c [HIPIFY][perl] Add "important" notice
# IMPORTANT: Do not change this file manually: it is generated by hipify-clang --perl


[ROCm/clr commit: 0ee069bad7]
2019-10-10 18:25:26 +03:00
Evgeny Mankov 808f59cd1c [HIPIFY][#1487][fix] Translate correctly kernel names prefixed with namespace
+ Modify CUDA2HIP_perl for the fix
+ Add ns_kernel_launch.cu test
+ Update hipify-perl by hipify-clang -perl


[ROCm/clr commit: 4a2d87b70c]
2019-10-08 15:58:48 +03:00