+ 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]
directed_tests/runtimeApi/module/hipLaunchCooperativeKernel.tst - Disabling test temporarily until driver support is available.
directed_tests/runtimeApi/memory/hipArray.tst - Disabling test temporarily to reimplement it correctly.
[ROCm/hip commit: 87834500b9]
* [HIP] Introduce library_types.h as a common header for libs
[Reason]
Currently, hipFFT, hipBLAS and other HIP libs use their own data types, prefixed with HIPFFT or HIPBLAS, whereas in CUDA those types are common and declared in library_types.h
[TODO]
Switch hipFFT, hipBLAS and other HIP libs to use common library_types.h.
* [HIP] Move include for library_types.h to hip_runtime.h
[Reason]
Repeat CUDA's behaviour, where library_types.h is included in cuda_runtime.h
[ROCm/hip commit: 94eb4155dd]
This fixes the usage of an uninitialized cdattr variable in hipDeviceGetAttribute for the CUDA backend when taking the switch default, as detailed in #1317.
Note that the directed_tests/runtimeApi/device/hipGetDeviceAttribute.tst test fails for me, but it already did before applying this patch. Let's see what CI says!
[ROCm/hip commit: 9ababa4276]
Added new memory API's hipMemAllocPitch, hipMemAllocHost, hipMemsetD16, hipMemsetD16Async, hipMemsetD8Async
Modified to support all scenarios hipMemcpyParam2DAsync, hipMemcpyParam2D.
[ROCm/hip commit: ba9c6e13e4]
+ 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]
+ 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]
[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]
Addresses SWDEV-136570. hipMemGetInfo changed to compute free memory based on information from kfd instead of relying on hc::am_tracker.
[ROCm/hip commit: 3d661e4706]