Commit Graph

19 Commits

Author SHA1 Message Date
Evgeny Mankov 0219b7c05d [HIPIFY][test] Update allocators.cu test
[ROCm/clr commit: e3319acbf8]
2019-10-10 17:20:41 +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 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 d3adb0478f [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/clr commit: cf467b4550]
2019-09-24 09:44:17 +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 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
Evgeny Mankov 12efe906e7 [HIPIFY][tests] Add occupancy test
[ROCm/clr commit: 608331250e]
2019-09-02 17:54:06 +03:00
Evgeny Mankov e3cb2756c4 [HIPIFY] Add cudaMallocManaged -> hipMallocManaged
+ Add mapping for corresponding data types
+ Add a test
+ Update docs


[ROCm/clr commit: 9166b1554e]
2019-08-13 17:56:06 +03:00
Evgeny Mankov b5f0cdaa7b [HIP][HIPIFY] Split HIP_ARRAY_DESCRIPTOR struct to HIP_ARRAY_DESCRIPTOR and HIP_ARRAY3D_DESCRIPTOR
[Reason] To be compatible with CUDA [#1133]

Update HIP code, hipify-clang, tests and docs

[TODO] Add support of the corresponding functions on nvcc fallback path


[ROCm/clr commit: f0832fd968]
2019-07-11 14:58:16 +03:00
Evgeny Mankov fa2ec209ab [HIPIFY] Add device texture fetch functions support
+ Add a corresponding reverse engineered sample tex2dKernel with texture template


[ROCm/clr commit: 7db992cf44]
2019-05-23 12:47:08 +03:00
Evgeny Mankov 3e0fa665f7 [HIPIFY][tests] Add reverse engineered HIP sample "peer2peer"
+ Fix typo in sample "stream"


[ROCm/clr commit: 5c205b75f5]
2019-05-20 17:16:11 +03:00
Evgeny Mankov 355f49a850 [HIPIFY][tests] Add reverse engineered HIP sample "stream"
+ Add additional checks for extern __shared__ due to [#1109]


[ROCm/clr commit: 7cc12df514]
2019-05-15 20:17:03 +03:00
Evgeny Mankov bbe9275e38 [HIPIFY][fix][#1109] Do not preserve extern __shared__ for IncompleteArrayType
+ Update tests accordingly


[ROCm/clr commit: bf65120156]
2019-05-15 20:05:56 +03:00
Evgeny Mankov 7a5a838e80 [HIPIFY][tests] Add reverse engineered HIP sample Profiler
+ Add missing cuda_profiler_api.h to hip/hip_profile.h transformation.
NOTE: HIP Profiler API is under development. This is NOT WORKING example.
TODO: Find out a way to generate HIP_SCOPED_MARKER, HIP_BEGIN_MARKER, HIP_END_MARKER, declared in hip/hip_profile.h in particular place (signatures are to obtain).


[ROCm/clr commit: 5e49c25faa]
2019-05-14 16:43:44 +03:00
Evgeny Mankov 8c12edcf65 [HIPIFY][tests] Add reverse engineered HIP sample hipEvent
[ROCm/clr commit: 9860dac7fa]
2019-05-13 22:12:43 +03:00
emankov 39b28d7623 [HIPIFY][tests] Add reverse engineered HIP sample MatrixTranspose
[ROCm/clr commit: cdc76af186]
2019-05-13 19:37:18 +03:00
Evgeny Mankov 7d81558657 [HIPIFY] Introduce CUDA installation path option '-cuda-path'
Repeats clang's '--cuda-path' option.

[Reason]
In case of absence of any other clang's options setting '-cuda-path' allows not to specify separator '--' before clang's '--cuda-path'.

+ Tests and scripts are updated accordingly.


[ROCm/clr commit: c4268855e3]
2019-01-09 20:18:36 +03:00
emankov 18ce5086c5 [HIPIFY][tests] Reduce cudaRegister.cu test
[ROCm/clr commit: 410f8f0b92]
2019-01-03 17:17:21 +03:00
Evgeny Mankov 27496f1d0d [HIPIFY][tests] Reorganization
[ROCm/clr commit: b76cf94562]
2018-12-04 20:47:34 +03:00