Commit Graph

58 Commits

Author SHA1 Message Date
sushantkumar14 985e113fdb [dtest] Added hipStreamGetPriority API test
SWDEV-238517 for enhancing hip unit tests

Change-Id: Icff175360815ba6e25a6954a67947b65caff3711


[ROCm/clr commit: 2dc42154c4]
2020-07-09 01:59:44 -04:00
Lakhan singh Thakur 4bf371401d [dtest] Enhancing hipStreamAddCallback() api test
-Scenario-1:: This test case is used to verify if the callback function
              called through  hipStreamAddCallback() api completes the
	      execution in order as hipStreamAddCallback() api queued
	      in their respective streams: hipStreamACb_AltEnqueue.cpp
-Scenario-2:: This test case tests if Host thread continues with next
              command after hipStreamAddCallback() api or wait for
	      callback() call to finish. Ideally Host thread should not
              wait for callback to
              finish: hipStreamACb_ThrdBehaviour.cpp
-Scenario-3:: Streams are launched in individual GPUs with different
              kernel Verify that all the kernels queued are executed
	      before the callback is hit: hipStreamACb_MStrm_Mgpu.cpp
-Scenario-4:: Checks the callback execution in the same order it was
              added. Also, it checks if the number of callbacks
	      executed are same as the number of callbacks added:
	      hipStreamACb_order.cpp
-Scenario-5:: This test case checks whether hipStreamSynchronize() is
              taking less time than the time taken by Callback()
	      function launched by hipStreamAddCallback() api :
	      hipStreamACb_StrmSyncTiming.cpp
-Scenario-6:: This test case is used to check if the runtime is ok when
              hipStreamAddCallback() is called back to back multiple
	      calls: hipStreamACb_MultiCalls.cpp
-Scenario-7:: This test case is used to check the behaviour of HIP when
              multiple hipStreaAddCallback() are called over multiple
	      Threads:hipStreamACb_MultiThread.cpp
              (Currently disabled)

SWDEV-238517 for enhancing hip unit tests

Change-Id: I9c7b7df6766c728b2b201df18726b9fbdd434c06


[ROCm/clr commit: 18f8b15523]
2020-07-07 00:43:32 -04:00
Christophe Paquot 4206cfddc5 Do not deferred stream creation now that we multiplex HW queues
SWDEV-239856

Change-Id: I156650faf832f86891f00ee167269509edd844ec


[ROCm/clr commit: 20ae4d709f]
2020-06-09 19:16:25 -04:00
Payam 8bdf07bb9c Observed softhang while running hipStreamAddCallbackCatch SWDEV-236746
Workaround hipStream deadlock issue as the same lock was used twice SWDEV-236746

Change-Id: Icc60104ce6edf4cfd2a3a889bab78a6caadd50b7


[ROCm/clr commit: f3ee29cdb2]
2020-06-04 14:11:22 -04:00
Aryan Salmanpour 5aec64346f [dtest] add a multi stream test for (SWDEV-237846)
Change-Id: I4a1d764df75af7019d0f38313e5e0a6a224818f8


[ROCm/clr commit: 200ab30084]
2020-05-28 23:36:10 -04:00
Aryan Salmanpour 71d0954669 [dtest] add a test for hipExtStreamCreateWithCUMask API
Change-Id: Ib567e559c5ab7d04ac5c300fd7e15eedfc4fb6e6


[ROCm/clr commit: c9b8a19ce0]
2020-05-26 18:15:09 -04:00
Payam 082b9e51ab name change vdi to rocclr
Change-Id: I06d198bbb4a499e153b290b73a92afed3553b252


[ROCm/clr commit: dba0e72de2]
2020-05-06 09:14:30 -04:00
Maneesh Gupta e5ee180568 Merge branch 'amd-master' into amd-master-next
Change-Id: I3094c15008093f2072bcd38aca4ea90aeae2d97b


[ROCm/clr commit: 0ea6697192]
2020-04-09 06:31:00 -04:00
Evgeny Mankov d191980c6a [HIP] Clean-up deprecated HIP error codes
hipErrorMemoryAllocation -> hipErrorOutOfMemory
hipErrorInitializationError -> hipErrorNotInitialized
hipErrorMapBufferObjectFailed -> hipErrorMapFailed
hipErrorInvalidResourceHandle -> hipErrorInvalidHandle


[ROCm/clr commit: 4aaa2336a8]
2019-12-23 17:01:35 +03:00
Sarbojit2019 2c00d66995 Revert [HIP] Fixed hipStreamAddCallback (#1674)
This reverts commit 4d0b7e65bb.
Addresses SWDEV#212675.

[ROCm/clr commit: 8a3c36a424]
2019-11-20 11:55:46 +05:30
Sarbojit2019 4d0b7e65bb [HIP] Fixed hipStreamAddCallback [SWDEV#165185] (#1425)
Fixed hipStreamAddCallback() as requested in SWDEV#165185
Added unit test to test the behavior


[ROCm/clr commit: 97fca3439d]
2019-11-07 13:18:12 +05:30
Maneesh Gupta 61833b948d [dtests] Fix typo in hipAPIStreamDisable.cpp (#1227)
Change-Id: Ib88a6be49ba192578129bb88ad09817839981398

[ROCm/clr commit: d206d66dfe]
2019-07-17 07:28:38 +00:00
Konstantin Pyzhov 05746f20e9 Disable hipStreamSync2 test for hip-clang.
[ROCm/clr commit: adf3b8774e]
2019-05-20 02:13:30 -04:00
Maneesh Gupta 74110bbd43 [hit] Rename RUN -> TEST & RUN_NAMED -> TEST_NAMED
Change-Id: I75e24f15129973cee15fc9dac65d678bd2172074


[ROCm/clr commit: 53dd1df3fa]
2019-05-09 09:59:18 +05:30
Alex Voicu c505c2be38 Re-sync with upstream.
[ROCm/clr commit: 602280eb8b]
2018-10-18 12:27:03 +01:00
Maneesh Gupta 50e89b0a30 Replace hipLaunchKernel -> hipLaunchKernelGGL
Change-Id: I4d99009e1199811d417becf1e1b934ec4d4e30be


[ROCm/clr commit: e1fe095471]
2018-10-17 14:32:25 +05:30
Maneesh Gupta c4ed6b18fb Implementation for stream priority
- Requires ROCm 1.9.x or higher
- Requires HCC with PR#886 merged

Change-Id: Id7c95ea091ee610e80c9ad815f1cb989cba570ca


[ROCm/clr commit: 07ee1f07d8]
2018-10-05 16:27:46 +05:30
Alex Voicu f5d204450c Align with HC Next.
[ROCm/clr commit: 26c26f63cb]
2018-09-17 11:50:29 +03:00
Maneesh Gupta 46ddefedee Apply .clangformat to all repo source files
Change-Id: I7e79c6058f0303f9a98911e3b7dd2e8596079344


[ROCm/clr commit: 9e47fccc89]
2018-03-12 11:29:03 +05:30
Maneesh Gupta 469ffecc71 hipStreamAddCallback.cpp: Replace unistd sleep with sleep_for
Change-Id: I7a5d40a1acd8be76a0f175bcfa731ad89fb88d81


[ROCm/clr commit: 3aab52d7cc]
2018-01-31 10:48:17 +05:30
Maneesh Gupta b2bb274b7e Fix hipStreamAddCallback testcase for nvcc
Change-Id: Ieec4b8d7933d8d68394d21d27132da206111efc8


[ROCm/clr commit: 6a37c60eaa]
2018-01-30 12:32:46 +05:30
Maneesh Gupta 290b5f1738 Implement hipStreamAddCallback
Change-Id: Ib851e4d86ba9c8406ca37b88162ea483ccbc9d36


[ROCm/clr commit: cd9ba0d1e1]
2017-12-19 16:06:14 +05:30
Phaneendr-kumar Lanka 033e2cde33 [nvccWarnings] Fix warnings seen with dtests on nvcc path
[ROCm/clr commit: 0ac125e3db]
2017-12-14 14:10:37 +05:30
Ben Sander c9f031bc72 Temporarily disable a couple tests pending some HCC work
[ROCm/clr commit: 721d862089]
2017-12-01 21:46:28 +00:00
Alex Voicu a27fa25d76 Revert "Revert adoption of CUDA indexing in general - this can only work with later versions of the compiler, just like module based dispatch, and thus must be guarded against usage in earlier (e.g. 1.6) versions."
This reverts commit 1cd6416


[ROCm/clr commit: 4966518846]
2017-11-29 21:49:10 +00:00
Alex Voicu a1d5f0ab0c Revert "Revert adoption of CUDA indexing in general - this can only work with later versions of the compiler, just like module based dispatch, and thus must be guarded against usage in earlier (e.g. 1.6) versions."
This reverts commit d2fd1f5


[ROCm/clr commit: 2557000b56]
2017-11-29 21:36:29 +00:00
Alex Voicu 9cf73ef515 Re-sync with upstream.
[ROCm/clr commit: 30d90dab38]
2017-11-20 15:34:50 +00:00
Alex Voicu af0ae5421c This implements the trivial change needed to move back from the hip{Something}_{x, y, z} macros to the natural CUDA syntax of Something.{x, y, z}. This is contained in lines 384-404 in hip_runtime.h. All of the other changes have to do with changing unit tests to use this syntax. The macros are retained for backwards compatibility.
[ROCm/clr commit: 0cc921f103]
2017-11-19 01:54:12 +00:00
Alex Voicu 12f00d4881 Merge remote-tracking branch 'origin/master' into feature_use_module_based_dispatch_instead_of_pfe
# Conflicts:
#	tests/src/runtimeApi/stream/hipStreamSync2.cpp


[ROCm/clr commit: f7919a8321]
2017-11-08 10:26:30 +00:00
Alex Voicu 142213a52b Clean up trailing whitespace so as to reduce noise in #246.
[ROCm/clr commit: 0ad1308efd]
2017-11-08 00:08:55 +00:00
Phaneendr-kumar Lanka 700890e19a More tests for memory,stream & error APIs
[ROCm/clr commit: 7427abba04]
2017-11-06 11:31:52 +05:30
Alex Voicu b738633bcb This switches HIP from its currently convoluted macro + pfe based dispatch mechanism to a more natural one partially based on the existing module API. The basic idea is that HCC will always correctly emit __global__ functions: as empty-bodied stubs, on host, and as kernels, on device. It then becomes trivial to obtain the mangled name on host, at dispatch, from the function's address, and then to use the mangled name to retrieve the kernel. This should address all problems stemming from serialisation, dubious mismatches due to the manufactured functor, macro-isms et al. It also immediately enables support for generalised globals as a consequence of that being available in the module API. Finally, it will make debug much easier, since the actual names of the __global__ functions will automatically be used in traces etc. One detail is that due to how dispatch works now (hipLaunchKernel and hipLaunchKernelGGL are themselves variadic function templates which deduce the function type of the callee), in certain cases it may be necesssary to insert explicit casts to ensure that the variadic argument list selects a viable overload - this can be observed in some unit tests. Eventually we may be able to remove this limitation, but for now it does not appear terribly onerous. The code is not extremely HIPpie, nor is it fully optimised, but rather is intended as a starting point for the HIP team to make its own.
[ROCm/clr commit: 28f87f7d2e]
2017-11-01 15:09:59 +00:00
Ben Sander b45217fef0 Refactor hipStreamWaitEvent
- Null streams use same flow as non-null.
- Add HIP_SYNC_STREAM_WAIT
- Resolve null stream.


[ROCm/clr commit: ed8c3ba7e7]
2017-08-31 03:00:14 +00:00
Rahul Garg b6e1129b22 Enable hipStreamSync2 and record_event dtests
[ROCm/clr commit: 3e4df05632]
2017-08-24 15:51:58 +05:30
Maneesh Gupta 1d986efecf [dt] temporarily disable broken tests
Change-Id: I3ce23e410dc36e06d460263d768412f8368a6699


[ROCm/clr commit: 814eddcd96]
2017-07-18 11:17:02 +05:30
Ben Sander 7237ed04f3 Fix HIP_SYNC_NULL_STREAM=0 mode.
- Fix null-stream sync
- hipStreamDestroy of null stream returns hipErrorInvalidResourceHandle
- Update documentation.
- Add tests for null stream sync, hipEventElapsedTime.
- Rename internal enum hipEventStatusRecorded to hipEventStatusComplete
- refactor hipStreamWaitEvent to streamline control-flow


[ROCm/clr commit: 823281dcba]
2017-06-05 08:50:22 -05:00
Ben Sander be21cd1a91 Update tests.
Fix some NVCC issues.
Add hipStreamSync2, record_event tests.


[ROCm/clr commit: 863b7c3f56]
2017-06-04 20:18:37 -05:00
Ben Sander 9442c6dd2d Updates so hip compiles on CUDA.
[ROCm/clr commit: 8dc968f036]
2017-05-27 15:55:07 -05:00
Ben Sander 59e07db865 Expand test to cover copy followed by event sync
[ROCm/clr commit: 92bd54d7b3]
2017-05-23 23:15:45 -05:00
Ben Sander 4ac6ac9d1d Add initial HIP_SYNC_NULL_STREAM=0 mode.
This eliminates host-synchronization for null stream.  Instead, the
null-stream uses GPU-side events to wait for other streams.
Default is OFF pending additional testing.

Add enhanced null-stream test.

Also refine HIP_TRACE_API.


[ROCm/clr commit: 8bc6ee5932]
2017-05-16 19:04:25 -05:00
Ben Sander a8d917c092 split debugging into separate .md file
[ROCm/clr commit: 61c8633113]
2017-05-16 19:04:25 -05:00
Ben Sander 90e5930923 hipHostMalloc allocation are mapped to all devices by default.
Support hipHostMallocPortable flag.
Default flags are hipHostMallocPortable | hipHostMallocMapped.

Also:
-refactor tests to move addCount and addCountReverse into HipTest
namespace.
-test multi-GPU host memory.


[ROCm/clr commit: ff9bed6535]
2017-05-10 17:34:36 -05:00
Ben Sander 501d0b3161 Fix hipStreamWaitEvent for single GPU.
[ROCm/clr commit: ae9fdf9bc1]
2017-05-10 13:23:49 -05:00
Ben Sander 48fdf2fc93 Update streamEventTEst.
- add checks for events across devices.
- refactor test to make sure it runs long enough to sensitive sync
  techniques.
- add tests for DeviceSync, streamWaitEvent.


[ROCm/clr commit: 444e4a20ba]
2017-05-05 17:29:04 -05:00
wsttiger 618f4bf702 Improve hipStreamWaitEvent test.
- use addOne kernel, use local initializer rather than init_array.
- use addOneReverse test to add from back of array.  Test alternate fwd and backward to stress dependency logic.
- check device-side dependencies.


[ROCm/clr commit: a10d37e5e6]
2017-05-05 17:29:04 -05:00
Aditya Atluri 42c627fbe8 Moved device code to mimic cuda header behavior
1. All fp32, fp64 math device/host functions should be in math_functions.h/.cpp
2. All fp32, fp64 fast math intrinsics for device/host functions should be in device_functions.h/.cpp
3. All the device code implementations should be in device_util.h/.cpp
4. Hence, made changes appropriately by moving code and creating new header files
5. Added math_functions.cpp/.h
6. Changed #ifndef signature to make sure no conflicts between headers with same names in hip/hip_runtime.h and hip/hcc_detail/hip_runtime.h
7. Changed tests to fit the code changes, making them to include appropriate headers
8. Added math_functions.cpp to CMakeLists.txt
9. Some of the tests are still broken, mostly host math functions will fix them in next commit
10. TODO: FIX compilation issues for host math functions

Change-Id: I7a17637d7e294a7d224ffba932c1a08668febd26


[ROCm/clr commit: d23b6b8694]
2017-01-17 14:57:51 -06:00
pensun b98e815865 Modify hipStreamAddCallback test case to consider both NULL stream and stream
Change-Id: I8468c988f0f01c7d3f3176a01469d69bf7a68237


[ROCm/clr commit: 4a93beb3b0]
2016-10-23 12:36:02 -05:00
pensun 57fab304c7 Add direct test for hipStreamAddCallback workaround
Change-Id: I890574eb30a76922888846882986edd0dc345309


[ROCm/clr commit: ad09270d7b]
2016-10-23 12:18:09 -05:00
Maneesh Gupta 6b41768920 Remove deprecated make and cmake files
Change-Id: I8cac0ec9cb997214559627425af207bbb9be0ddf


[ROCm/clr commit: c4dd17cce9]
2016-10-07 11:44:26 +05:30
Maneesh Gupta 43d07079e9 directed tests: Updated to use new hip include path
Change-Id: Iab1aee638b7158eb9674a19625dedf6471947e51


[ROCm/clr commit: 5947878247]
2016-10-04 22:20:50 +05:30