Add memory filling performance test for large bar device memory,
hip managed memory, conherent/non-coherent host memory and fine
grained device memory
Change-Id: Id3f9bcad45d643e493daf9d5f47b3a012a427178
Run with multiple threads to catch possible race condition
Disable running the test by default on CI as this takes lot of time
Change-Id: I1c1a66fd5c72f8d2bf7ad120461384488b46abbd
- waitList was released before the awaitcompletion
causing stream sync after the async copies fail
- Enable the hipPeerToPeer_simple test
Change-Id: I1eeaa7e6320ab38c106902078f034dfec4c3f3ea
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
Windows doesn't have headers unistd.h, sys/wait.h, so
remove them for _WIN64. Also, Windows doesn't have rand_r
so define it. Fixes builds for HIP tests:
d2dMemCpyWithPinnedHostMemory, hipMemset3DFunctional,
hipModuleLoadMultProcessOnMultGPU,
hipModuleLoadUnloadStress, hipModuleNegative,
hipStreamACb_ThrdBehaviour, hipMemcpyNegativeMThrdMSize,
hipStreamACb_MStrm_Mgpu, StreamAddCallback,
hipStreamACb_StrmSyncTiming, hipStreamACb_MultiCalls,
hipMallocConcurrency, hipMemset3DRegressMultiThread,
and hipSetGetDevice.
Change-Id: Id2f98d664716026c590d879e464ba467d4c071be
Fix wrong mixing of current device and stream device in
ihipModuleLaunchKernel() and hipLaunchCooperativeKernel().
Fix missing hipSetDevice() in hipMemcpyWithStream* tests.
Change-Id: I09333bb40d239bb42c832df5ea16d17eeaeff5e7
Remove hipSimpleIpcMem.cpp as the IPC APIs are expected to work
with different processes and not the same process. Also, modify
the hipMultiProcIpcMem.cpp to test the offset scenarios
Change-Id: Ia161fc9ab39e27f22d8ef7268e0d7669ece5cdce
Change-Id: Ic3cb79ef4aca40b4a504483eb81fd83bb8a201d9
[dtest] Tests for hipMemcpy2DFromArray
and hipMemcpy2DFromArrayAsync APIs
1. Negative scenarios for both the APIs
2. Functional size check scenarios for both APIs
3. Invoke the API from Peer Device Context
4. Simple scenarios for both APIs
5. Pinned Host Memory from same & multi GPU
Change-Id: I80c84ec3f9722d18683d31be65caa1bd64054da6
This test is incorrect about _Float16 overloading. Need to keep the test
passing for both old and new compiler until the compiler change is in
mainline.
Change-Id: I2f9be8957282fd0579c74f1e9f23e65c4484f3a2
Add concurrentManagedAccess detection in hipMallocManaged test.
Skip test when device doesn't support concurrentManagedAccess.
Change-Id: Ie54046feef3baba857a7068972ec1fc1a60c2dfd
Add a test for fine-grained device to device coherency.
Add a test for fine-grained host to device coherency.
Change-Id: I62482cae917fa19feaa17adb53f3084527ad8fda
Addresses the scenarios when the size passed is more than
the allocated size and when the deviceid is invalid
Change-Id: I6c9b62639096f655ffb61976905b1ce8c5f51ee7
Change-Id: I8a0d660924a8e2300c517aba6f9088626b8f6ef5
1. Added 21 test scenarios to test the hipComplex functions on both host and device.
2. Modified the floating point comparisons with precision check.
Change-Id: I9edfb0c635ced255935087c85b77d3cc6a1a82e3
Add device_id_ in hip::event to match cuda behaviour in
hipEventQuery() and hipEventRecord().
Enable hipEventElapsedTime test on AMD platform.
Workarround sporadic crash of hipEventIpc test due to
some bug of event ipc.
Add missing hipEventDestroy() in some event tests.
Fix some logic code errors.
Fix typo in comment.
Change-Id: I9ec74c475161b3e31df48d193449023e921f2924
[dtest] Additional tests for Memcpy
APIs tested:
hipMemcpy, hipMemcpyAsync,
hipMemcpyHtoD, hipMemcpyHtoDAsync,
hipMemcpyDtoH, hipMemcpyDtoHAsync,
hipMemcpyDtoD, hipMemcpyDtoDAsync
1: The aim of this test case is to cover all
the negative test cases for 8 hipMemcpy apis
2: This test launches NUM_THREADS threads.
Each thread in turn tests the working of
8 hipmemcpy apis
3: This test case verifies the working of
Memcpy apis for range of memory sizes from
smallest one unit transfer to 1GB.
Change-Id: If5c99527a78e817bafab2e1bd9b686a9ff916184
On Windows there's something fundamentally broken about redirecting IO
into a file and then restoring that said IO to it's original state. Even
though no syscalls would fail, the output would sometimes either go into
CLI or straight up nowhere.
Simply using pipes instead of a temporary file magically resolves the
above issue ¯\_(ツ)_/¯
Unfortunately the max pipe size on Linux is 1Mb, which is not enough to
store all the data printed by the kernel. This leads to a softhang in
vprintf().
Stick to using a temporary file on Linux, but switch to pipes on
Windows. Slightly refactor the CaptureStream struct to accomadate this
difference.
Change-Id: Id8e68f150df47815a4f652ee2bcd6cfb7c3e3bac
The following snippets has different behaviour based on platform.
printf("%p", 0x123abc);
Linux -> 0x123abc
Windows -> 123ABC
printf("%p", nullptr);
Linux -> (nil)
Windows -> 0000000000000000
%p specifier according to C spec is implementation defined, so we need
to adjust the reference string to be correct on Windows.
Change-Id: I7059fa0f6cde611718bd76655637670fcbccf43c
[dtest] Tests for hipEvent related APIs
Added Negative scenarios for hipEvent related APIs
1. Verifying all hipEvent related APIs by passing nullptr.
2. Pass illegal/unknown flag to hipEventCreateWithFlags API
Change-Id: Ia0a24065d16fe0f5ee28a88e280c25c1be0c3590
runtimeApi/event/hipEventElapsedTime will report invalid resource error
on cuda due to wrong calling sequence. The fix will arrange the calling
in right sequence.
Change-Id: I3db28a962888566ea135e3cbdefa68d373e2d369