Commit Graph

402 Commits

Author SHA1 Message Date
Evgeny Mankov 0feee792b8 [HIPIFY][cmake][#1572] Fix: Do not override CMAKE_INSTALL_PREFIX
Affects building with HIP, standalone building is not changed


[ROCm/hip commit: f563772a25]
2019-10-31 16:55:06 +03:00
Evgeny Mankov 1ca3744948 [HIPIFY][#1603] Fix
[ROCm/hip commit: 389b5ec957]
2019-10-29 22:10:36 +03:00
Evgeny Mankov bce3beed0c [HIPIFY][Linux] Rollback --cuda-compile-host-device on Linux
[Reason] It doesn't work with LLVM 9 and higher; Windows is fine


[ROCm/hip commit: 85087644da]
2019-10-29 20:53:54 +03:00
Evgeny Mankov 0fd46e00cb [HIPIFY] Introduce --cuda-compile-host-device for LLVM >= 9
* LLVM < 9 continues using --cuda-host-only


[ROCm/hip commit: 3f2eefa82a]
2019-10-29 19:42:53 +03:00
Evgeny Mankov 933568681c [HIPIFY] cudaMemcpy2DFromArray(Async) support
[ROCm/hip commit: 315a10a59d]
2019-10-29 19:12:42 +03:00
Evgeny Mankov 6a0ce151e5 [HIPIFY][cmake][#1571] Take into account building hipify-clang as a part of building HIP while installing
[Algorithm]
  [Release]
    If CMAKE_INSTALL_PREFIX is set by the user:
       If BIN_INSTALL_DIR is set by HIP, use it as CMAKE_INSTALL_PREFIX, otherwise CMAKE_INSTALL_PREFIX is used unchanged.
    If the user does not set CMAKE_INSTALL_PREFIX (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT):
       If BIN_INSTALL_DIR is set by HIP, use it as CMAKE_INSTALL_PREFIX, otherwise use PROJECT_BINARY_DIR/bin for installation.
  [Debug]
    If CMAKE_INSTALL_PREFIX is set by the user:
       CMAKE_INSTALL_PREFIX is used unchanged.
    If the user does not set CMAKE_INSTALL_PREFIX (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT):
       use CMAKE_CURRENT_SOURCE_DIR/bin for installation.

Standalone build left unchanged: CMAKE_INSTALL_PREFIX is used if set.


[ROCm/hip commit: 75d70a6714]
2019-10-23 18:54:45 +03:00
Evgeny Mankov d39793f0f7 [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/hip commit: b6e6f12b54]
2019-10-22 19:07:37 +03:00
Evgeny Mankov 9822351686 [HIPIFY][#1569] Fix
[ROCm/hip commit: 6f88c81a78]
2019-10-22 11:08:37 +03:00
Evgeny Mankov f697f14117 [HIPIFY][perl] Support of 'using namespace cub'
[ROCm/hip commit: b08f29a6fa]
2019-10-21 17:15:05 +03:00
Evgeny Mankov 55e2ef4c7a [HIPIFY][CUB][#1460] Add "using namespace cub" translation support
+ Add cub_03.cu


[ROCm/hip commit: 98874c0e7f]
2019-10-18 18:51:40 +03:00
Aaron Enye Shi c3b3de7f95 [HIPIFY][cmake] Make CMakeLists use default 3.5.1 for Ubuntu 16.04
[ROCm/hip commit: 31e57f8b64]
2019-10-17 21:21:24 +00:00
Evgeny Mankov 222fb46a92 [HIPIFY][doc] Update README.md
+ Versions, testing


[ROCm/hip commit: 7ecbd71004]
2019-10-17 22:26:48 +03:00
Evgeny Mankov 4e3443c69e [HIPIFY][cmake] Add install rule for clang-resource-headers
+ Fix: set destination for all installing files to ${CMAKE_INSTALL_PREFIX}


[ROCm/hip commit: f19e7c29df]
2019-10-17 15:05:55 +03:00
Evgeny Mankov 60c5f0a6c7 [HIPIFY][CUB][#1460] Add cub:: namespace support in TemplateInstantiation of cudaLaunchKernel
+ Update cub_02.cu test accordingly


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


[ROCm/hip commit: 809a67a4f6]
2019-10-16 13:43:56 +03:00
Evgeny Mankov dcbe9432bd [HIPIFY][CUB][#1460] Implement cubFunctionTemplateDecl matcher
+ Add cub_02.cu test
+ Partial fixes #1460


[ROCm/hip commit: 6960574850]
2019-10-16 13:08:11 +03:00
Evgeny Mankov e49e3bfffa [HIPIFY][cmake] Make CMakeLists.txt compatible with default cmake 3.5.2 for Ubuntu 16.04
+ Update README.md accordingly


[ROCm/hip commit: d57c9a844b]
2019-10-15 11:26:03 +03:00
Evgeny Mankov 8456642b3d [HIPIFY] HipifyAction code clean-up
[ROCm/hip commit: c0f62157f9]
2019-10-14 18:08:29 +03:00
Evgeny Mankov b3f8782fb9 [HIPIFY][build fix] Add missing new source file
[ROCm/hip commit: 2994fb3429]
2019-10-14 16:32:57 +03:00
Evgeny Mankov 3deccebb07 [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/hip commit: 277d3b8369]
2019-10-14 11:55:55 +03:00
Evgeny Mankov 20be535ea7 [HIPIFY][perl] Add "important" notice
# IMPORTANT: Do not change this file manually: it is generated by hipify-clang --perl


[ROCm/hip commit: 876af8f381]
2019-10-10 18:25:26 +03:00
Evgeny Mankov a8b7ebefb0 Merge pull request #1513 from emankov/hipify-clang
[HIPIFY][doc] Add a few words about hipify-perl

[ROCm/hip commit: 4a4a620389]
2019-10-08 22:30:25 +03:00
Evgeny Mankov 7aa4b75259 [HIPIFY][doc] Add a few words about hipify-perl
+ Update testing and versions


[ROCm/hip commit: de1b81b78a]
2019-10-08 22:27:48 +03:00
Evgeny Mankov 69ea727e92 [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/hip commit: 3286ffdfc0]
2019-10-08 15:58:48 +03:00
Evgeny Mankov a05383fc4c [HIPIFY] Sync with HIP
+ Update hipify-perl accordingly


[ROCm/hip commit: 6aa7540be8]
2019-10-07 14:44:05 +03:00
Evgeny Mankov 512adfd735 [HIPIFY] Remove duplicates
+ C++ maps and docs affected, hipify-perl left unchanged


[ROCm/hip commit: b744ec4548]
2019-10-07 14:33:04 +03:00
Evgeny Mankov ffee68f4f9 [HIPIFY][SPARSE] sync with hipSPARSE
+ Update doc and hipify-perl accordingly


[ROCm/hip commit: 410f6c4a95]
2019-10-05 15:53:04 +03:00
Evgeny Mankov f05b0fcb60 [HIPIFY] CUDA2HIP_Perl code clean-up and formatting
+ Generated hipify-perl is unchanged


[ROCm/hip commit: 6d6258d15e]
2019-10-04 14:31:15 +03:00
ansurya 66e94b1b1f Added new Memory API's (#1399)
Added new memory API's hipMemAllocPitch, hipMemAllocHost, hipMemsetD16, hipMemsetD16Async, hipMemsetD8Async
Modified to support all scenarios hipMemcpyParam2DAsync, hipMemcpyParam2D.


[ROCm/hip commit: ba9c6e13e4]
2019-10-04 13:36:31 +05:30
Evgeny Mankov a7edb7fb15 [HIPIFY][perl] Start to generate hipify-perl under an option -perl
+ Get rid of --o-perl-map option for Perl output filename: the output name now is always hipify-perl
+ Option --o-perl-map-dir renamed to --o-hipify-perl-dir

Cmd example for generating hipify-perl script to the particular directory:
hipify-clang -perl --o-hipify-perl-dir=../../bin


[ROCm/hip commit: b3cf982ee7]
2019-10-03 16:30:48 +03:00
Evgeny Mankov de6c26040d [HIPIFY] Finishing with generation of hipify-perl
+ hipify-perl script is entirely generated by hipify-clang under an option -perl now
+ hipify-perl still has correctness gaps comparing to hipify-clang: they will be eliminated AMAP further


[ROCm/hip commit: 6badebd963]
2019-10-03 16:00:52 +03:00
Evgeny Mankov eab4a41336 [HIPIFY] Return to wrapping with HIP_KERNEL_NAME(...) macro of a template instantiation kernel launch
[REASON]

1. hip-clang is fine with the templated kernel launch, brackets are unneeded: HIP_KERNEL_NAME(...) __VA_ARGS__
2. HCC is not, thus: HIP_KERNEL_NAME(...) (__VA_ARGS__)

[TODO] Clean-up entirely kernel name wrapping when HCC is finally obsolete.

+ Update perl generation, hipify-perl, and affected tests accordingly.


[ROCm/hip commit: 6bb9913e8a]
2019-10-02 16:01:07 +03:00
Evgeny Mankov 3652d77965 [HIPIFY][#1490][fix] Populate the list of supported device atomic functions
+ Update hipify-perl accordingly
+ Add atomics.cu test on all atomics


[ROCm/hip commit: b5f17e8ff0]
2019-10-01 13:57:46 +03:00
Evgeny Mankov 34e20b8568 [HIPIFY][perl] Generate transformKernelLaunch
+ Update hipify-perl accordingly
+ Minor refactoring


[ROCm/hip commit: c8f73ea491]
2019-10-01 11:17:27 +03:00
Evgeny Mankov f738c592c7 [HIPIFY][perl] Generate transformExternShared function
+ Update hipify-perl accordingly


[ROCm/hip commit: 65964db02c]
2019-09-30 17:47:46 +03:00
Evgeny Mankov 14102880b4 [HIPIFY][perl] Generate simpleSubstitutions function
+ Update hipify-perl accordingly


[ROCm/hip commit: 0f19300383]
2019-09-30 16:53:19 +03:00
Evgeny Mankov 042d68e5fb [HIPIFY] Reconcile transformation (statistics) types between hipify-clang and hipify-perl
+ Update hipify-perl accordingly


[ROCm/hip commit: 76a439f4c0]
2019-09-29 17:33:37 +03:00
Evgeny Mankov 7ae34e1b45 [HIPIFY][perl] Generate stat functions
TODO: make statistics as much as similar to hipify-clang's


[ROCm/hip commit: 849b2678a8]
2019-09-29 14:20:32 +03:00
Evgeny Mankov e1beef5641 [HIPIFY][doc] The latest cuDNN 7.6.4 is supported
[ROCm/hip commit: b1e7b1437d]
2019-09-28 20:49:56 +03:00
Evgeny Mankov d265ecac09 [HIPIFY] Generate more hipify-perl (continuation)
+ Minor hipify-perl clean-up
+ Minor CUDA2HIP_Perl refactoring


[ROCm/hip commit: f21e7d8abc]
2019-09-27 19:10:54 +03:00
Evgeny Mankov 3aa9f6bd6e [HIPIFY] Add supported fp16 functions
+ Update hipify-perl accordingly


[ROCm/hip commit: f50852e3a6]
2019-09-26 18:13:20 +03:00
Evgeny Mankov 2c33c89120 [HIPIFY][doc] Update README.md
+ Testing, versioning


[ROCm/hip commit: d17a8e04f1]
2019-09-26 17:08:29 +03:00
Evgeny Mankov ca15d193e8 [HIPIFY][#1439] Add reinterpret_cast to args of some functions
+ Perl part of [#1458]
+ Affected functions: hipFuncSetCacheConfig, hipFuncGetAttributes
+ Implement function generateHostFunctions() in hipify-clang for that purposes
+ Update hipify-perl accordingly


[ROCm/hip commit: 9d1d4b78e3]
2019-09-25 18:53:17 +03:00
Evgeny Mankov a7e5c3a600 [HIPIFY] HipifyAction refactoring
+ Merge of cudaSymbolFuncCall and cudaReinterpretCastArgFuncCall matchers into a single cudaHostFuncCall matcher
+ More const std::string declarations
+ Formatting


[ROCm/hip commit: 84baa83a25]
2019-09-24 10:33:51 +03:00
Evgeny Mankov 1eff176c03 [HIPIFY][#1439] Add reinterpret_cast to args of some functions
+ Affected functions: hipFuncSetCacheConfig, hipFuncGetAttributes
+ Add a corresponding Matcher cudaReinterpretCastArgFuncCall
+ Add reinterpret_cast.cu test

TODO: Do the same for hipify-perl


[ROCm/hip commit: dd6a92afb7]
2019-09-24 09:44:17 +03:00
Evgeny Mankov 9887f6acd5 [HIPIFY][doc] Return X86 target back in LLVM's cmake
Due to LLVM 9.0.0 release, which still needs X86 for NVPTX, LLVM trunk - doesn't.


[ROCm/hip commit: 3de10d402c]
2019-09-23 22:20:23 +03:00
Evgeny Mankov df09ca6a67 [HIPIFY][perl] CUDA2HIP_Perl code cleanup
[ROCm/hip commit: fd5ecbf014]
2019-09-22 23:43:07 +03:00
Evgeny Mankov 7b817f7eee [HIPIFY][perl] generateSymbolFunctions() small refactoring
[ROCm/hip commit: 4acefa95c9]
2019-09-22 22:34:07 +03:00
Evgeny Mankov cdf0596e6d [HIPIFY][#1435][perl] Add HIP_SYMBOL wrapper to the templated Device Symbol argument of the following functions:
cudaMemcpyToSymbol, cudaMemcpyToSymbolAsync, cudaGetSymbolSize, cudaGetSymbolAddress, cudaMemcpyFromSymbol, cudaMemcpyFromSymbolAsync

+ Perl part of [#1441]
+ Implement function generateSymbolFunctions() in hipify-clang for that purposes
+ Update hipify-perl

TODO: Eliminate dim3() issue in hipify-perl as well


[ROCm/hip commit: 1b989bcb8d]
2019-09-21 07:33:17 +03:00
Evgeny Mankov 77d8429431 [HIPIFY][doc] Update README.md due to LLVM 9.0.0 release
+ LLVM 9.0.0 is latest stable release, no patches are needed
+ The latest CUDA 10.1 Update 2 is supported
+ Tested on Windows and Linux


[ROCm/hip commit: ab063617eb]
2019-09-20 09:16:10 +03:00