SWDEV-549309 - Ensure that the kernel is issued to a stream that is ass… (#552)
* SWDEV-549309 - Ensure that the kernel is issued to a stream that is associated to the current device
* SWDEV-549309 - Ensure that the kernel is issued to a stream that is associated to the current device in atomic tests
* SWDEV-549309 - Added fix for Unit_hipMallocFromPoolAsync_Multidevice_Concurrent test
* SWDEV-549309 - Added fix for Unit_hipMemcpyPeerAsync_Positive_Default
* SWDEV-549309 - Added fix for Unit_hipStreamAttachMemAsync_Positive_AttachGlobal and Unit_hipGetProcAddress_GraphAPIs_AddMemsetMemcpyNodes
[ROCm/hip-tests commit: d21a95cea8]
Bu işleme şunda yer alıyor:
işlemeyi yapan:
GitHub
ebeveyn
17d12dff14
işleme
5283a114b2
@@ -371,8 +371,8 @@ TEST_CASE("Unit_hipMallocFromPoolAsync_ReleaseThreshold_Mgpu") {
|
||||
/**
|
||||
* Local Thread Functions
|
||||
*/
|
||||
static void threadQAsyncCommands(streamMemAllocTest* testObj,
|
||||
hipStream_t strm) {
|
||||
static void threadQAsyncCommands(streamMemAllocTest* testObj, hipStream_t strm, int idx) {
|
||||
HIP_CHECK(hipSetDevice(idx));
|
||||
// Create host buffer with test data.
|
||||
testObj->createHostBufferWithData();
|
||||
// Allocate device memory and transfer data to it asyncronously on stream.
|
||||
@@ -616,7 +616,7 @@ TEST_CASE("Unit_hipMallocFromPoolAsync_Multidevice_Concurrent") {
|
||||
// Queue commands in each device
|
||||
for (int idx = 0; idx < num_devices; idx++) {
|
||||
HIP_CHECK(hipSetDevice(idx));
|
||||
std::thread test(threadQAsyncCommands, tesObjBuf[idx], stream_buf[idx]);
|
||||
std::thread test(threadQAsyncCommands, tesObjBuf[idx], stream_buf[idx], idx);
|
||||
test.join();
|
||||
}
|
||||
// Wait for the streams
|
||||
@@ -675,10 +675,10 @@ TEST_CASE("Unit_hipMallocFromPoolAsync_Multidevice_MultiStream") {
|
||||
// Queue commands in each device
|
||||
for (int idx = 0; idx < num_devices; idx++) {
|
||||
HIP_CHECK(hipSetDevice(idx));
|
||||
std::thread test1(threadQAsyncCommands, tesObjBuf[streamPerAsic*idx],
|
||||
stream_buf[streamPerAsic*idx]);
|
||||
std::thread test2(threadQAsyncCommands, tesObjBuf[streamPerAsic*idx + 1],
|
||||
stream_buf[streamPerAsic*idx + 1]);
|
||||
std::thread test1(threadQAsyncCommands, tesObjBuf[streamPerAsic * idx],
|
||||
stream_buf[streamPerAsic * idx], idx);
|
||||
std::thread test2(threadQAsyncCommands, tesObjBuf[streamPerAsic * idx + 1],
|
||||
stream_buf[streamPerAsic * idx + 1], idx);
|
||||
test1.join();
|
||||
test2.join();
|
||||
}
|
||||
|
||||
Yeni konuda referans
Bir kullanıcı engelle