Add typedefs for int32 and int64. Add templates provided in
system headers such as type_traits used in our HIP header
amd_hip_vector_types.h. Make replacements for clang builtin,
__is_convertible_to.
Change-Id: I4129b3f4f37238e2dda5b64d55e5cffe4d4480c6
[ROCm/clr commit: ff8c20c092]
Currently generating profiling header is not supported on Windows,
hence why the feature is being disabled.
Change-Id: I1f6d70ec3d68356799c5ecc89469eb007ae894f8
[ROCm/clr commit: 08ecf21ddf]
Switch to using Perl for converting the Unix timestamp into a human
readable date. Perl is required anyway to run hipconfig, so this
solution should be relatively platform independent.
Change-Id: I2b09468d25daf574c74cebcac4f29d9aba5f18fb
[ROCm/clr commit: c094ba97c6]
This change addresses the rocprofiler and HIP backward compatibility
issues. Before this patch, each time the hip_prof_str.h header was
generated, the ordering of the callbacks IDs changed, causing
incompatibilities between tools compiled with the old header and
runtimes compiled with the new headers (or vice versa).
To make the API callback IDs stable, the previous version of the header
is read to extract the enum values so that the same values can be
assigned in the new header.
Also, to make diffing different versions of the hip_prof_str.h easier
to read, all other sections (types, macros, helper functions) are now
alphabetically ordered.
If an update to the checked-in hip_prof_str.h file is required, the
cmake build is aborted and a message printed on stderr. The build will
not be successful until the checked-in hip_prof_str.h and the generated
hip_prof_str.h match.
Change-Id: I38b920e601185f7365a76a6584df91a7e8a11798
[ROCm/clr commit: d208afcb36]
- when the first argument is null API should return hipErrorInvalidValue
- but when first and second argument both are null API was returning hipErrorInvalidHandle causing catch2 event tests to fail
Change-Id: I0978ce8b8462e4baa043be75a40b5bc45b036bb6
[ROCm/clr commit: 688288c2e3]
Re-enable __HIPCC_RTC__ in hip_vector_types.h which require
an upstream clang patch, 6823af0ca858b54e09e5be61a19d067ccd0bd6b7.
Once upstream patch has landed in mainline, merge this for
hiprtc functionality.
Change-Id: Ife884e0c3081b307bdadc8bec7804d1d7c60153b
[ROCm/clr commit: e5a1f25424]
- Also revise the implementation of atomicInc/atomicDec based on clang
builtins.
Change-Id: Ia5e06e88c7be1da5f8fc7ac70037a120c604e343
[ROCm/clr commit: 45205c5e53]
This reverts commit b01fb5d72f.
Rework to support old cmake in order to fix mathlibs' failure.
Change-Id: I605fc633ba28df4fca95ceee83671600dd3f0b72
[ROCm/clr commit: 53b3c8a3fb]
HSA signal callback order is undefined. Make sure start event is
also done before calculating the elapsed time.
Change-Id: Ic69bfe336b20cd62ef35194261a5d0d234bc65ce
[ROCm/clr commit: 910d8bdfde]
Add the CMake support for generating the hiprtc-builtins
library. Replaces the previous execution of shell script.
For backwards compatibility, link hiprtc pre-processed
object to amdhip64, and support versioning in name.
Add libcmt.lib to Windows link step, due to manually
generated .obj from llvm-mc.
Change-Id: I267be3cf4b241840b35f7f27a0b8659530108b0e
[ROCm/clr commit: c42308e2e5]
In file included from /extra/lmoriche/hip-vdi/hip/rocclr/hip_internal.hpp:25,
from /extra/lmoriche/hip-vdi/hip/rocclr/hip_hmm.cpp:22:
/extra/lmoriche/hip-vdi/hip/rocclr/hip_prof_api.h: In constructor ‘api_callbacks_table_t::api_callbacks_table_t()’:
/extra/lmoriche/hip-vdi/hip/rocclr/hip_prof_api.h:72:59: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct api_callbacks_table_t::hip_cb_table_t’ with no trivial copy-assignment; use value-initialization instead [-Wclass-memaccess]
72 | memset(&callbacks_table_, 0, sizeof(callbacks_table_));
| ^
/extra/lmoriche/hip-vdi/hip/rocclr/hip_prof_api.h:67:10: note: ‘struct api_callbacks_table_t::hip_cb_table_t’ declared here
67 | struct hip_cb_table_t {
| ^~~~~~~~~~~~~~
Address the above warning by providing default initialization of the
api_callbacks_table_t::hip_cb_table_t class members.
Change-Id: I69ea7c390c28cf3f8aec57f23566d6a3061a0365
[ROCm/clr commit: 0f7a47a95f]
There is no OUTPUT_FILE option for add_custom_command (it is an option
for execute_process). Instead, redirect stdout to the output file.
Change-Id: Ic649bc6c4f709c3c42166500a72fce5014690a47
[ROCm/clr commit: f3a54f0823]
Instead of using inline asm, use clang builtins
for llvm intrinsics.
Change-Id: I30287f5a8de035ccd7e48d10e559a8a2e1d389f7
[ROCm/clr commit: 3fa21c1d49]
Add a hip::Stream::destroyAllStreams static function to destroy all streams
Also call MemObjMap::Purge
Change-Id: I6ee7e3f26ab1f1870a9271c65e99fb818134482b
[ROCm/clr commit: bea4fa8700]
Current packaging assumes that HIP runtime will always be installed in
/opt/rocm/lib. This is false to assume, because some distros like CentOS
will use the lib64 directory instead of lib. Relying on CMake to choose
the library directory for us will default in that case to lib64. Hence
there will be a mismatch between where HIP is installed and where CMake
thinks it is.
Change-Id: I46e405b25bda987e74b095fcb41319f8a504ae41
[ROCm/clr commit: 52ff66f4fc]
Check GPU signal status for event before falling into CPU command
status validation
Change-Id: I66f15752d7dca550c0fa1a2252ec5a63817391c3
[ROCm/clr commit: dd8265fc87]
Currently build is only passing because amdhip64 is being built with
headers from /opt/rocm/include. It should be using the headers from
the hipamd project.
Change-Id: I27cb64b460547ef281d368322afac376fa49db51
[ROCm/clr commit: 37be0e449a]