1.Rename include/hip/hcc_detail/ as include/hip/amd_detail/
2.Rename include/hip/nvcc_detail/ as include/hip/nvidia_detail/
3.Create __HIP_PLATFORM_AMD__ to replace __HIP_PLATFORM_HCC__
4.Create __HIP_PLATFORM_NVIDIA__ to replace __HIP_PLATFORM_NVCC__
After hcc_detail, nvcc_detail, __HIP_PLATFORM_HCC__ and __HIP_PLATFORM_NVCC__
have been removed from upstream, they will be removed from hip runtime.
Change-Id: I1ae457effd739d6c25bca203c1724b026be21fce
Remove hip-hcc codes from hip code base
Simplify hip CMakeLists.txt to exclude hip-hcc
Simplify cmake cmd for hip-rocclr building
Some minor fixes
Change-Id: I1ae357ecfd638d6c25bca293c1724b026be21ecd
SWDEV-261229: Change atomicAdd float implementation to use clang builtin
along with deprecating atomicAddNoRet
Change-Id: I5e98034fec54ee1a2b85d5f56273e34945d49ea3
SWDEV-262064 - compilation fails when hipLaunchCooperativeKernel C++ routine is invoked
on nvcc path.
Change-Id: Icde35dd1a7008b406401bb3996c06d7acfb27d8d
The __ocml_sqrt_* functions only accept a single arg,
not two args. Also, change ifdef for if because the flag
__HCC_OR_HIP_CLANG__ is always defined.
Change-Id: Id9dc4eaf0f25df1df27a1bf643cb545ac23653f8
The device side assertion calls printf to write out a message. In the
device compiler, printf is expanded into a series of hostcalls that
transmit the printf payload to the host. This expansion increases the
length of the kernel, resulting in sub-optimal compilation. The
solution is to ensure that the assert() implementation is not inlined
into the kernel.
Change-Id: Ia3a075461a755cf007218f262b0863e1926c76aa
[background] There is currently a compilation issue when both hip/hip_runtime.h and hip/hip_cooperative_groups.h included
in a file and hipcc used to compile it on NV platform. The issue is that an abort is defined in hip/nvcc_detail/hip_runtime.h
and it is also defined in the CUDA cooperative groups header (/cuda/include/cooperative_groups/details/helpers.h).
this is problematic and leads to a compilation issue in hipcc on NV platform.
Change-Id: I2ab6982ac4103822a1a4a0ced942cd604d6c19c1
The static members __HIP_Coordinates::x, ::y and ::z must be defined
outside the class. Otherwise, linker throws `undefined reference error`
when these definitions are needed in the HIP application.
Change-Id: Iabc09744b478c22e4b13cf9824877ec9cfdd4f7a
This makes hipLaunchKernelGGL take a variable argument list, that will be
expanded before being fed to hipLaunchKernelGGLInternal.
This is different from 961717879d.
We try to accomodate the case when a kernel template has multiple
type parameters.
Change-Id: I87577d402c92b0f3b51e298f8293f4065e1f6de8
- HIP-Clang follows the standard assert definition by providing
`__assert_fail`. But, `assert` macro is added as an HCC-specific
workaround due to the missing implementation. Only enable that on the
HCC compilation to avoid unexpected behaviors on HIP-Clang
compilation.
Change-Id: I1c9a707baff9b85c30faef58c52ebfe07e3fc3fc