Replace return value of hipPointerGetAttributes() on NV from
hipErrorUnknown to hipErrorInvalidValue if memory has been freed.
Change-Id: I3fe6dbc35a7a14aa9109df297b7885df83d28149
[ROCm/clr commit: 203c4b9b35]
Use continue instead of break to make sure we process the
whole hip_runtime_api.h file.
Change-Id: Ied2a8df69ed9eb1dc04d6b2d0d7b117ce2a2b6b3
[ROCm/clr commit: 9a510f1cf1]
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]
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]
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]
Instead of using inline asm, use clang builtins
for llvm intrinsics.
Change-Id: I30287f5a8de035ccd7e48d10e559a8a2e1d389f7
[ROCm/clr commit: 3fa21c1d49]
Add coarse grain memory extension. The new advice will allow HMM
to disable cache coherency policy to improve performance
Change-Id: I3c792d6a96896b983a7ffccddaa0ded06d183212
[ROCm/clr commit: 2b3a4e711b]
Temporarily disable __HIPCC_RTC__ in hip_vector_types.h
while the upstream clang headers are outdated on mainline.
Once upstream patch has landed in mainline, revert this
change. This is a workaround for hiprtc testing.
Change-Id: Ib2cf6023b71431bbfbe3c699076caa4f90f7170c
[ROCm/clr commit: 414c80644b]
Let clock64() read s_memtime to prevent rolling over
Add wall_clock64() to read s_memrealtime
Change-Id: I706387355add75852c570be2656131ef99e8968f
[ROCm/clr commit: 26235f49e6]
Windows may expect long and ulong to be 4 bytes, while
Linux expects 8 bytes. Instead, use uint64_t for
unsigned long, and unsigned long long, and use int64_t
for long and long long to be consistent.
Change-Id: I6ed1cdde43721bcaaab0245644d607b1adbf9884
[ROCm/clr commit: dd643ec517]
For hipRTC on Windows, add macro __HIPCC_RTC__ to allow
online compilation of with device functions excluding standard
C/C++ headers, system headers, and host HIP APIs.
Change-Id: I1d91f042baf1359856ec83ab7030dc58785e0334
[ROCm/clr commit: 688693e9fd]
On StreamBegincapture captures the parameters passed to APIs and respective node will be created and added to graph
All parameters are passed to STREAM_CAPTURE macro, it checks if stream in capture mode and redirects the call to the capture function and returns
Updated hipStream and hipEvent with capture parameters
Added handling for hipStreamBeginCapture & hipStreamEndCapture
Change-Id: Ic8926a7b4336c2cc81f0b3a9a224aa392c474134
[ROCm/clr commit: 8cc0e04239]
Selector indices are as follows (the upper 16-bits of the selector are not used): selector[0] = s<2:0> selector[1] = s<6:4> selector[2] = s<10:8> selector[3] = s<14:12>
Change-Id: Ibf76c6ec2374f1f5b9bba8bd9dbd73660f830eea
[ROCm/clr commit: e9cc056d25]
Change-Id: I5daeacd9dd5c6ce7f914d6e6e45dd41fb2a675a5
hipMemRangeGetAttributes was returning hipErrorInvalidValue due to improper
mapping of the arguments to cudaMemRangeGetAttributes.
[ROCm/clr commit: cc39ceab25]
The workaround is no longer needed as the compiler emits the macro itself.
Change-Id: I6a06e73353628bcea71f6bd23503ab6d8e42a29d
[ROCm/clr commit: 37b90c2f64]