- 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
[ROCm/clr commit: 41aedf5273]
This makes hipLaunchKernelGGL take a variable argument list, that will be
expanded before being fed to hipLaunchKernelGGLInternal.
Change-Id: Id76e2bf91acd5d68f56a24fc39f219f2eeb06d33
[ROCm/clr commit: fb6bb04f03]
Add hipHostMallocNumaUser flag to hipHostMalloc() in order to support
numa policy set by user.
Change-Id: I6d70ed539a5f97f27187f2242b68849c0e27e4d6
[ROCm/clr commit: 71c64e98a0]
Currently std::complex and some other std functions require uses to
include hip_runtime.h before any other headers to work, which is not
reliable.
changes are made in clang to fix this issue:
https://reviews.llvm.org/D81176
which requires hipcc and HIP headers to make corresponding changes.
This patch will make sure the clang change will not break
HIP/ROCclr during this transition.
After the transition is done, we can remove explicitly setting
include path for HIP-Clang and HIP header in hipcc and hip config
cmake files and rely on clang driver to set it automatically.
Change-Id: I5d226861c2560ffa6c5ab17343a43cc378048061
[ROCm/clr commit: 0a513d8a02]
1. Updated FAQ with shft*sync not supported hip_faq.md
2. Corrected some of input parameter description in hcc_details/hip_runtime_api.h
3. Redirect shfl*() to shfl_*_sync() for nvcc path where CUDA > 9.0
Change-Id: I3d8184db5fcc622852c9bad96b706348e8dfc16c
[ROCm/clr commit: e288338e4a]
This technique should never be used, and only accessed through
__builtins.
There's currently no builtin for groupstaticsize. I left ds_swizzle
since for some reason it switches to the builtin based on __HCC__ or
not.
Change-Id: If1e1394221dba83ea4add6db5e94d6b715552044
[ROCm/clr commit: 03ebfd2d49]
It was for HCC only. HIP-Clang also needs it for __fp16 since AMDMIGraphX uses it.
Change-Id: Id49322b7b89ef799accdf6b47627a6fce51d1ab5
[ROCm/clr commit: 29549ce4dc]
This change is required by AMDMIGraphX.
It was for HCC only. HIP-Clang also needs it for __fp16 since AMDMIGraphX uses it.
Change-Id: Id49322b7b89ef799accdf6b47627a6fce51d1ab5
[ROCm/clr commit: 1013e4eca8]
These might contain garbage causing the runtime to incorrectly parse the state of the texture references.
Change-Id: I93c726fa30b580b3e14c50ac939f3c71b0d1c8d9
[ROCm/clr commit: bfa363d00c]
* Disable device side malloc
Currently device side malloc is not working and takes excessive
device memory.
Disable it for now until a working malloc is implemented.
Change-Id: I1ad908c1c53a83752383b4be96688a848642c699
[ROCm/clr commit: d556c3425b]
This is charrypick of 9ead991784
and https://github.com/ROCm-Developer-Tools/HIP/pull/2009
Fix cmake config file
Removed cmake target files under packaging directory.
Merged cmake config .in files for HIP-Clang and HCC as one.
Use cmake generated target files in both install and packaging.
This makes cmake config file consistent for make install and
make package.
Let device side malloc/free return nullptr and trap
Change-Id: I448f3ea2d4934648089bad371debc203f895cba6
[ROCm/clr commit: 4e1d05c4be]
- It should be a volatile-qualified member function instead of returning
volatile type.
Change-Id: Id7aaa1953d56151b59e469ef22b9f4280f63bebb
[ROCm/clr commit: 35b001b33a]
Support hipLaunchCooperativeKernelMultiDevice()
- Add validation logic for MGPU launches to pass a cuda test
Change-Id: Iccca7fde43493fc3bc6685512d39202271ae3e92
[ROCm/clr commit: 8be723e199]
If the code object is embedded in an already mapped file, and the
lifetime of the mapped file exceeds the lifetime of the executable,
we do not need to make a copy of the binary.
This allows the ROCR to present the code object URI as
file:///path/to/file#offset=X&size=Y.
[ROCm/clr commit: 67830996a9]
libc++ defines fma as template function for auto promotion of mixed-type
arguments. libc++ does not handle _Float16 as _Float16 is not a supported
type by C++ standard. As such, it is unlikely we can commit our fix for
_Float16 to libc++ trunk.
Therefore we handle _Float16 with a template specialization of
__numeric_type in HIP headers.
Change-Id: If01960a657ebf1a7a67463cdcf66fab7458dff3c
[ROCm/clr commit: 6f439f0232]
Even though the runtime and driver texture object API is one to one, the structs used by these APIs are not. See hipResourceDesc vs HIP_RESOURCE_DESC differences.
These differences are not trivial and most likely won't be able to handled by hipify, so we need new API entry points.
Change-Id: Id4bcb1ad0ae15378dbdb5a2ed07e5ea30f320082
[ROCm/clr commit: a09fadecf2]
- Use symbol value as the qeury key. Compared to the symbol name, the
symbol value is more robust as developers may use unqualified or
qualified identifiers. It also removes the mangling and/or demangling
requirement for the runtime API.
Change-Id: I9d4259f3842612c7cc98551269fc2092d8b5c19e
[ROCm/clr commit: a14695d4eb]