Commit Graph

337 Commits

Author SHA1 Message Date
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
srinivamd ad8e82ca0b remove dependencies on /opt/rocm path (#1379)
* remove hard coded dependencies on /opt/rocm path

[ROCm/clr commit: 706e4498e3]
2019-10-10 19:56:55 +05:30
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
Evgeny Mankov c08b24a569 [HIPIFY] Sync with HIP
+ Update hipify-perl accordingly


[ROCm/clr commit: 59c5220c2f]
2019-10-07 14:44:05 +03:00
Evgeny Mankov 48224daaa3 [HIPIFY][SPARSE] sync with hipSPARSE
+ Update doc and hipify-perl accordingly


[ROCm/clr commit: 201e6deaac]
2019-10-05 15:53:04 +03:00
ansurya efc64a4f8a Added new Memory API's (#1399)
Added new memory API's hipMemAllocPitch, hipMemAllocHost, hipMemsetD16, hipMemsetD16Async, hipMemsetD8Async
Modified to support all scenarios hipMemcpyParam2DAsync, hipMemcpyParam2D.


[ROCm/clr commit: 96890792b0]
2019-10-04 13:36:31 +05:30
Maneesh Gupta e5a2ba9602 hipcc defaults to code object v3 (#1298)
Change-Id: I272ec61090fa504d631fb54371a73dd6fd17a167

[ROCm/clr commit: c8f38a139a]
2019-10-04 13:35:21 +05:30
Evgeny Mankov cc2af89494 [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/clr commit: 94aac73b3b]
2019-10-03 16:00:52 +03:00
Evgeny Mankov 85ae269393 [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/clr commit: fee2f0fa78]
2019-10-02 16:01:07 +03:00
Evgeny Mankov 159fe8dbc3 Merge pull request #1492 from emankov/master
[HIPIFY][#1490][fix] Populate the list of supported device atomic functions

[ROCm/clr commit: 8549cc7e1c]
2019-10-01 14:00:07 +03:00
Evgeny Mankov 6dab0c3faa [HIPIFY][#1490][fix] Populate the list of supported device atomic functions
+ Update hipify-perl accordingly
+ Add atomics.cu test on all atomics


[ROCm/clr commit: 2371150401]
2019-10-01 13:57:46 +03:00
Evgeny Mankov 26bdb8c7f0 Merge pull request #1489 from emankov/master
[HIPIFY][perl] Generate transformKernelLaunch

[ROCm/clr commit: 4a060525d5]
2019-10-01 11:18:41 +03:00
Evgeny Mankov aaa4495aeb [HIPIFY][perl] Generate transformKernelLaunch
+ Update hipify-perl accordingly
+ Minor refactoring


[ROCm/clr commit: 0d8d0f1ebc]
2019-10-01 11:17:27 +03:00
Maneesh Gupta 078bafd36d Bump version to 2.10 (#1483)
Change-Id: I22ac0ae723bc537e027306dbb0f1594552fd33a4

[ROCm/clr commit: 03c1fb1a8f]
2019-10-01 12:39:08 +05:30
Evgeny Mankov 1886fdcbeb [HIPIFY][perl] Generate transformExternShared function
+ Update hipify-perl accordingly


[ROCm/clr commit: bf5546f35e]
2019-09-30 17:47:46 +03:00
Evgeny Mankov 4d2de06f2c [HIPIFY][perl] Generate simpleSubstitutions function
+ Update hipify-perl accordingly


[ROCm/clr commit: 4860559996]
2019-09-30 16:53:19 +03:00
Evgeny Mankov 20496c8486 [HIPIFY] Reconcile transformation (statistics) types between hipify-clang and hipify-perl
+ Update hipify-perl accordingly


[ROCm/clr commit: b42a476614]
2019-09-29 17:33:37 +03:00
Evgeny Mankov f876daa083 [HIPIFY][perl] Code clean-up before continuing generation
[ROCm/clr commit: cdd1888293]
2019-09-28 20:44:15 +03:00
Evgeny Mankov a48cfd56e9 [HIPIFY] Generate more hipify-perl (continuation)
+ Minor hipify-perl clean-up
+ Minor CUDA2HIP_Perl refactoring


[ROCm/clr commit: 0d36e13ce9]
2019-09-27 19:10:54 +03:00
Evgeny Mankov a5a10dc4f9 [HIPIFY] Add supported fp16 functions
+ Update hipify-perl accordingly


[ROCm/clr commit: ff1699397b]
2019-09-26 18:13:20 +03:00
Evgeny Mankov 3ee668a9b9 [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/clr commit: 1db7c1d694]
2019-09-25 18:53:17 +03:00
Evgeny Mankov 1fa72c7dc8 [HIPIFY][perl] Get rid of obsolete warnings on cuBLAS and cuRAND
[ROCm/clr commit: 76f2202abf]
2019-09-25 17:37:41 +03:00
Evgeny Mankov ef23cdda41 [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/clr commit: 72a658295f]
2019-09-21 07:33:17 +03:00
Evgeny Mankov b6aa917b43 [HIPIFY][#1437] Fix: cudaFuncGetAttributes to hipFuncGetAttributes is supported
+ Update hipify-perl and CUDA_Runtime_API_functions_supported_by_HIP.md accordingly


[ROCm/clr commit: a49f9924a7]
2019-09-18 17:57:31 +03:00
Evgeny Mankov c2f3ca9225 [HIPIFY] Add supported device functions (from device_functions.h)
+ [perl] Sync hipify-perl accordingly


[ROCm/clr commit: 05d71d4b8b]
2019-09-18 17:07:50 +03:00
Evgeny Mankov 3d744756a1 [HIPIFY] Add supported device functions (from math_functions.h)
+ [perl] Add generation of sub countSupportedDeviceFunctions
+ [FIX] Do not perform any replacement for supported device functions
+ [perl] Sync hipify-perl accordingly


[ROCm/clr commit: 33cd4dffd5]
2019-09-17 16:17:28 +03:00
Evgeny Mankov 3f90cba68a [HIPIFY][perl][fix] Treat ::device_function as a device function
+ Do not treat somenamespace::device_function_name as a device function
+ Fix generation of warnUnsupportedDeviceFunctions function in hipify-clang
+ Update hipify-perl based on hipify-clang -perl generation
+ Update device test math_functions.cu for hipify-perl

[Restrictions]
- hipify-perl is yet unable to handle function declarations in user namespaces
- hipify-perl is yet unable to handle using directive


[ROCm/clr commit: b43bb7d3c1]
2019-09-16 17:36:55 +03:00
ansurya 4436a38e65 Added new device attributes (#1377)
* Added new device attributes

* updated comment

* updated with new device attributes supported


[ROCm/clr commit: e2a934f377]
2019-09-16 08:31:30 +00:00
Evgeny Mankov 7e629aa218 [HIPIFY][perl] Syn with hipify-clang
[ROCm/clr commit: 422403a3ff]
2019-09-15 15:25:40 +03:00
Evgeny Mankov 4cfb3aa7b7 [HIPIFY][#1400] Fix Template Instantiation kernel launch (clang & perl)
+ Enclose template instantiation kernel calls into round brackets, leave regular kernel names unchanged (hipify-perl doesn't handle cases with macros).
+ Fix corresponding tests.

PS. hipify-perl couldn't handle correctly the following cases due to macros expansion disability, thus hipify-clang should be used instead:

#define KERNEL_NAME_MACRO axpy<float>
#define KERNEL_CALL_MACRO axpy<float><<<1, 2>>>
#define KERNEL_ARG_LIST_MACRO a, x, y

// CUDA:
KERNEL_NAME_MACRO<<<1, 2>>>(KERNEL_ARG_LIST_MACRO);
KERNEL_CALL_MACRO(KERNEL_ARG_LIST_MACRO);

// hipify-perl:
hipLaunchKernelGGL(KERNEL_NAME_MACRO, dim3(1), dim3(2), 0, 0, KERNEL_ARG_LIST_MACRO);
KERNEL_CALL_MACRO(KERNEL_ARG_LIST_MACRO);

// hipify-clang:
hipLaunchKernelGGL((KERNEL_NAME_MACRO), dim3(1), dim3(2), 0, 0, KERNEL_ARG_LIST_MACRO);
hipLaunchKernelGGL((axpy<float>), dim3(1), dim3(2), 0, 0, KERNEL_ARG_LIST_MACRO);


[ROCm/clr commit: 4e3845be83]
2019-09-10 15:59:06 +03:00
Evgeny Mankov 8dfefa1f9a [HIPIFY][perl] Code cleanup (preparation for generating)
[ROCm/clr commit: f114a79462]
2019-09-05 11:52:59 +03:00
Evgeny Mankov a9d5b1e29e [HIPIFY][perl] Sync hipify-perl with hipify-clang
Sync by means of semi-automatic generation: hipify-clang -perl


[ROCm/clr commit: 0ca6525d90]
2019-09-04 17:07:45 +03:00
Evgeny Mankov 73e71db792 [HIPIFY][perl] Code cleanup and formatting
[ROCm/clr commit: 7ab9afe513]
2019-09-04 16:37:26 +03:00
Evgeny Mankov 790ab87461 [HIPIFY][perl][#259] Fix
empty<<<1, 2>>> ( );     >>  hipLaunchKernelGGL(empty, dim3(1), dim3(2), 0, 0);
empty<<<1, 2, 0>>>();    >>
empty<<<1, 2, 0, 0>>>(); >>

instead of erroneous:    >> hipLaunchKernelGGL((empty), dim3(1), dim3(2), 0, 0, );


[ROCm/clr commit: e26ec02a99]
2019-09-03 16:44:20 +03:00
Yaxun (Sam) Liu 0a81b64a19 Do not change opt level for -g for hip-clang (#1369)
Currently hipcc uses -O3 for hip-clang by default but uses -O0 if -g is used. This
causes surprise for users since -g should not affect default opt level.

[ROCm/clr commit: 19a9b15306]
2019-08-29 01:03:11 +00:00
Sarbojit2019 45c928dbba [hipcc] Fix for uninitialized variables on nvcc path
Fixes #1186

[ROCm/clr commit: f106375a34]
2019-08-20 12:06:22 +00:00
Maneesh Gupta c6c0b9ef9f Bump HIP version (#1311)
- Match HIP version with upcoming ROCm version
- Add githash to version string

[ROCm/clr commit: 1884359940]
2019-08-09 12:13:29 +00:00
Rene van Oostrum 7246f9eb29 Add missing hipHostRegister flags to hipify-perl for flags that are defined and supported in hip_runtime_api.h
[ROCm/clr commit: 3e5fd98fc3]
2019-08-08 10:46:45 -05:00
Maneesh Gupta af006dcf0e Merge pull request #1305 from ROCm-Developer-Tools/fix-hip-vdi-include-clang
Fix HIP-VDI using incorrect include files

[ROCm/clr commit: 268d82aefd]
2019-08-08 08:28:20 +00:00
Aaron Enye Shi 92a468a647 Fix HIP-VDI using incorrect include files
When HIP-VDI depends on an llvm-amdgpu package, the include clang directory is not properly assessed.

[ROCm/clr commit: 3750b2cf42]
2019-08-07 16:59:17 -04:00
David Rohr 324995e472 Treat .cxx files like .cpp files
[ROCm/clr commit: a22119d381]
2019-08-07 19:11:35 +02:00
Yaxun (Sam) Liu 05b71135e9 Fix -std=c++14 for windows
[ROCm/clr commit: c1dc675e3d]
2019-07-31 16:36:47 -04:00
ansurya d46e575ec1 Add HSA_PATH to hip_Includes in cmake and hipconfig (#1260)
* Add HSA_PATH to hip_Includes in cmake and hipconfig

* HSA_PATH to CACHE path,checks for HSA include path

* Removed new lines at EOF


[ROCm/clr commit: 53b5c917cc]
2019-07-31 05:02:20 +00:00
Aaron Enye Shi 73af1ac4bd Add GFX908 specific changes to HIP (#1229)
* Add GFX908 specific for HIP

* Fix missing __halfTest in hipTestNativeHalf


[ROCm/clr commit: 8c82f9db77]
2019-07-24 07:51:17 +00:00
ansurya 8b8946f78b Add Max Texture 1D,2D,3D device properties (#1226)
* Add Max Texture 1D,2D,3D device properties

* Corrected testcase to use enums defined in hipDeviceAttribute_t

* Added texture 1D,2D and 3D support for NVIDIA path


[ROCm/clr commit: 00aa42e05f]
2019-07-18 03:18:50 +00:00
Evgeny Mankov d7600871ad [HIPIFY][bash] Make 'find' sorted by extension (#1231)
+ Source files are the first to go. It is needed for in-place hipification in order to avoid errors with included but already hipified header files.
+ More extensions support for batch processing.

[ROCm/clr commit: ba87bcba5c]
2019-07-17 07:28:54 +00:00
Yaxun (Sam) Liu 682dcddbbd Add amdgpu targets gfx1010 and gfx1012 (#1211)
[ROCm/clr commit: 4b5061e13f]
2019-07-12 03:13:35 +00:00
Michael LIAO 43d194a641 [hipcc] Revise include path calculation.
- Once HIP_VDI_HOME is defined but HIP_CLANG_INCLUDE_PATH is not,
  calculate it directly without HIP_CLANG_PATH is defined or not;
  Otherwise, we may leave HIP_CLANG_INCLUDE_PATH undefined, if clang is
  not installed following the official way (so far, HIP-Clang breaks
  that), we may leave HIP_CLANG_INCLUDE_PATH undefined before its uses.


[ROCm/clr commit: c3604d3120]
2019-06-14 13:35:00 -04:00
Yaxun Sam Liu 101cb68a36 Fix default HIP_VDI_HOME
There is soft link /opt/rocm/bin/.hipVersion, therefore when hipcc is executed
as /opt/rocm/bin/hipcc, it will set HIP_VDI_HOME to /opt/rocm, which is
incorrect. Check ../lib/bitcode instead to identify HIP_VDI_HOME.


[ROCm/clr commit: 154765df88]
2019-05-31 23:58:59 -04:00