SWDEV-491257 - Create stream capture tests with Event APIs

Change-Id: I9803a78c3513845f7bf91333a0db0d43bed5b346


[ROCm/hip-tests commit: fd92c47fea]
This commit is contained in:
Vladana Stojiljkovic
2024-10-22 17:31:37 +02:00
committed by Rakesh Roy
parent 182d514c0d
commit aee10912e0
4 changed files with 106 additions and 1 deletions
@@ -209,6 +209,32 @@ TEST_CASE("Unit_hipEventElapsedTime") {
HIP_CHECK(hipEventDestroy(stop));
}
TEST_CASE("Unit_hipEventElapsedTime_Verify_Capture") {
hipEvent_t start, stop;
HIP_CHECK(hipEventCreate(&start));
HIP_CHECK(hipEventCreate(&stop));
HIP_CHECK(hipEventRecord(start, nullptr));
HIP_CHECK(hipEventSynchronize(start));
HIP_CHECK(hipEventRecord(stop, nullptr));
HIP_CHECK(hipEventSynchronize(stop));
hipStream_t stream;
HIP_CHECK(hipStreamCreate(&stream));
hipStreamCaptureMode mode = GENERATE(hipStreamCaptureModeGlobal, hipStreamCaptureModeThreadLocal,
hipStreamCaptureModeRelaxed);
HIP_CHECK(hipStreamBeginCapture(stream, mode));
float tElapsed = 1.0f;
HIP_CHECK(hipEventElapsedTime(&tElapsed, start, stop));
hipGraph_t graph;
HIP_CHECK(hipStreamEndCapture(stream, &graph));
HIP_CHECK(hipGraphDestroy(graph));
HIP_CHECK(hipStreamDestroy(stream));
HIP_CHECK(hipEventDestroy(start));
HIP_CHECK(hipEventDestroy(stop));
}
/**
* End doxygen group EventTest.
* @}
@@ -52,6 +52,35 @@ TEST_CASE("Unit_hipEventCreate_Positive") {
HIP_CHECK(hipEventDestroy(event));
}
/**
* Test Description
* ------------------------
* - Test event creation while stream is capturing.
* Test source
* ------------------------
* - unit/event/hipEventCreate.cc
* Test requirements
* ------------------------
* - HIP_VERSION >= 5.2
*/
TEST_CASE("Unit_hipEventCreate_Verify_Capture") {
hipStream_t stream;
HIP_CHECK(hipStreamCreate(&stream));
hipStreamCaptureMode mode = GENERATE(hipStreamCaptureModeGlobal, hipStreamCaptureModeThreadLocal,
hipStreamCaptureModeRelaxed);
HIP_CHECK(hipStreamBeginCapture(stream, mode));
hipEvent_t event;
HIP_CHECK(hipEventCreate(&event));
REQUIRE(event != nullptr);
hipGraph_t graph;
HIP_CHECK(hipStreamEndCapture(stream, &graph));
HIP_CHECK(hipGraphDestroy(graph));
HIP_CHECK(hipEventDestroy(event));
HIP_CHECK(hipStreamDestroy(stream));
}
/**
* End doxygen group hipEventCreate.
* @}
@@ -347,10 +347,42 @@ TEST_CASE("Unit_hipEventCreateWithFlags_DefaultFlg_CohHstMem") {
eMemoryToTest::eCoherentHostMemory, hipEventDefault);
}
}
#endif
/**
* Test Description
* ------------------------
* - Test event creation with hipEventCreateWithFlags while stream is capturing
* Test source
* ------------------------
* - catch\unit\event\hipEventCreateWithFlags.cc
* Test requirements
* ------------------------
* - HIP_VERSION >= 5.2
*/
TEST_CASE("Unit_hipEventCreateWithFlags_Verify_Capture") {
hipStream_t stream;
HIP_CHECK(hipStreamCreate(&stream));
hipStreamCaptureMode mode = GENERATE(hipStreamCaptureModeGlobal, hipStreamCaptureModeThreadLocal,
hipStreamCaptureModeRelaxed);
HIP_CHECK(hipStreamBeginCapture(stream, mode));
const unsigned int flags = GENERATE(hipEventDefault, hipEventBlockingSync, hipEventDisableTiming,
hipEventInterprocess | hipEventDisableTiming);
hipEvent_t event;
HIP_CHECK(hipEventCreateWithFlags(&event, flags));
REQUIRE(event != nullptr);
hipGraph_t graph;
HIP_CHECK(hipStreamEndCapture(stream, &graph));
HIP_CHECK(hipGraphDestroy(graph));
HIP_CHECK(hipEventDestroy(event));
HIP_CHECK(hipStreamDestroy(stream));
}
/**
* End doxygen group hipEventCreateWithFlags.
* @}
*/
#endif
@@ -151,6 +151,24 @@ TEST_CASE("Unit_hipEventDestroy_Negative") {
}
#endif
TEST_CASE("Unit_hipEventDestroy_Verify_Capture") {
hipEvent_t event;
HIP_CHECK(hipEventCreate(&event));
REQUIRE(event != nullptr);
hipStream_t stream;
HIP_CHECK(hipStreamCreate(&stream));
hipStreamCaptureMode mode = GENERATE(hipStreamCaptureModeGlobal, hipStreamCaptureModeThreadLocal,
hipStreamCaptureModeRelaxed);
HIP_CHECK(hipStreamBeginCapture(stream, mode));
HIP_CHECK(hipEventDestroy(event));
hipGraph_t graph;
HIP_CHECK(hipStreamEndCapture(stream, &graph));
HIP_CHECK(hipGraphDestroy(graph));
HIP_CHECK(hipStreamDestroy(stream));
}
/**
* End doxygen group EventTest.
* @}