P4 to Git Change 1997981 by cpaquot@cpaquot-ocl-lc-lnx on 2019/09/13 11:17:32

SWDEV-203438 - [HIP] AllGather RCCL test issue
	The test tries to launch a kernel on two devices at once and they need to communicate with each other.
	For that, it uses a custom stream for each devices.
	Problem is in getNullStream we used to call syncStreams all the time
	and it was syncing all the streams even the ones on different devices.
	So that made the second kernel launch (on 2n dev) to wait for the first kernel to finish which
	would never occur since the first one was waiting for the second one.
	The fix is to not call syncStreams from getNullStream because we sync already anyway prior in general.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/hip/hip_context.cpp#21 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_event.cpp#16 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_internal.hpp#40 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_memory.cpp#70 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_module.cpp#41 edit
... //depot/stg/opencl/drivers/opencl/api/hip/hip_stream.cpp#24 edit
This commit is contained in:
foreman
2019-09-13 11:28:33 -04:00
szülő b0b5c92469
commit 0aa24f6d4d
6 fájl változott, egészen pontosan 30 új sor hozzáadva és 91 régi sor törölve
+1 -6
Fájl megtekintése
@@ -231,12 +231,7 @@ hipError_t hipEventRecord(hipEvent_t event, hipStream_t stream) {
hip::Event* e = reinterpret_cast<hip::Event*>(event);
amd::HostQueue* queue;
if (stream == nullptr) {
queue = hip::getNullStream();
} else {
queue = reinterpret_cast<hip::Stream*>(stream)->asHostQueue();
}
amd::HostQueue* queue = hip::getQueue(stream);
amd::Command* command = queue->getLastQueuedCommand(true);