Fix cudaMemcpyAsync bug

We are trying to use the copy result of first cudaMemcpyAsync in the
second cudaMemcpyAsync without sync in between. This patch fixes it
by allocating a CPU side array to cache device side addr so that we
can avoid this consecutive cuda mem copy.

Fixes #957


[ROCm/rccl commit: 4365458757]
Dieser Commit ist enthalten in:
Kaiming Ouyang
2023-09-20 05:51:14 -07:00
committet von Sylvain Jeaugey
Ursprung 26b91b9dbb
Commit d03ae00bac
5 geänderte Dateien mit 21 neuen und 13 gelöschten Zeilen
+2
Datei anzeigen
@@ -124,6 +124,8 @@ struct ncclSharedResources {
struct ncclChannel {
struct ncclChannelPeer** peers;
struct ncclDevChannelPeer** devPeers;
/* devPeer pointer array used for host side access */
struct ncclDevChannelPeer** devPeersHostPtr;
struct ncclRing ring;
int* devRingUserRanks;
struct ncclTree tree;