hipGetLastError/hipPeekAtLastError should really return the last error
produced by any of the runtime calls that did not successfuly complete,
not just the error code of the last runtime call.
For example, in this snippet of code:
1: hipLaunchKernelGGL(MyKernel, dim3(2), dim3(128), 0, 0, 10000,x);
2: hipDeviceSynchronize();
3: hipError_t error = hipGetLastError();
If the call to hipLaunchKernelGGL fails, hipDeviceSynchronize (which
succeeds) should not reset the last error to hipSuccess. hipGetLastError
should still return the non-success error code returned by
hipLaunchKernelGGL.
The last error is reset to hipSuccess after calling hipGetLastError.
Change-Id: Ib7c039067c53c94c99c8ecd83f54212bcef06f81
HIP_RETURN(x) is not a value, it is a statement ending with a return,
this commit replaces all instances of "return HIP_RETURN(x)" with simply
"HIP_RETURN(x)"
Change-Id: I03293b2684a65367ff55e02b3a71ea49ec7a517a
hipModuleGetTexRef() returns success for any global device
variable name even if it's not a texture.
This is wrong thus will fail "hipModuleTexture2dDrv --tests 0x14"
This patch will compare the size to overcome this issue somehow.
Change-Id: I4a4d96f947a68713036437ee525359ff412fefe2
Terse static_assert is only available starting with c++17. Add the
message argument since HIP is not compiled using c++17.
Change-Id: I77bc7ddb635e50ac3e6744d73c8751dc8299087e
If the texture object was created from an array, then the array owns
the image SRD. Otherwise, if the texture object is a view, or was
created from a buffer, then it owns the image SRD.
The texture object always owns the sampler SRD.
Change-Id: Id88360c23b2b82418c8c3ae2dd569f427574d420
Make hipModuleGetGlobal match cuModuleGetGlobal behavour.
That is, if one of the first two parameters is nullptr, ignore it.
Change-Id: I3fe6dbc35a7b14aa9119df297b7885df83d28048
On Windows, to enable comgr and hiprtc to enable compilation,
provide the correct target flags. Otherwise comgr cannot
figure out which platform to compile for.
Change-Id: I6426e518c8d695342cb49df0ebdeac0437da83df
Currently generating profiling header is not supported on Windows,
hence why the feature is being disabled.
Change-Id: I1f6d70ec3d68356799c5ecc89469eb007ae894f8
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
- 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
HSA signal callback order is undefined. Make sure start event is
also done before calculating the elapsed time.
Change-Id: Ic69bfe336b20cd62ef35194261a5d0d234bc65ce