diff --git a/projects/rccl/src/include/alloc.h b/projects/rccl/src/include/alloc.h index 94c6b65627..e9e07f7ae2 100644 --- a/projects/rccl/src/include/alloc.h +++ b/projects/rccl/src/include/alloc.h @@ -93,6 +93,7 @@ static ncclResult_t ncclCudaCallocDebug(const char *filefunc, int line, T** ptr, CUDACHECK(hipStreamDestroy(stream)); #else CUDACHECK(hipMemset(*ptr, 0, nelem*sizeof(T))); + CUDACHECK(hipStreamSynchronize(NULL)); #endif INFO(NCCL_ALLOC, "%s:%d Cuda Alloc Size %ld pointer %p", filefunc, line, nelem*sizeof(T), *ptr); int dev; diff --git a/projects/rccl/test/common/PtrUnion.cpp b/projects/rccl/test/common/PtrUnion.cpp index 708b86d606..2340d97c7c 100644 --- a/projects/rccl/test/common/PtrUnion.cpp +++ b/projects/rccl/test/common/PtrUnion.cpp @@ -99,6 +99,7 @@ namespace RcclUnitTesting ERROR("Unable to call hipMemset\n"); return TEST_FAIL; } + hipStreamSynchronize(NULL); return TEST_SUCCESS; } diff --git a/projects/rccl/tools/MultiRank/rccl-allreduce-multirank.cc b/projects/rccl/tools/MultiRank/rccl-allreduce-multirank.cc index b4d36635a6..6334f3c465 100644 --- a/projects/rccl/tools/MultiRank/rccl-allreduce-multirank.cc +++ b/projects/rccl/tools/MultiRank/rccl-allreduce-multirank.cc @@ -172,7 +172,7 @@ int main(int argc, char* argv[]) HIPCHECK(hipMalloc(recvbuff+i, size*sizeof(float))); h_recvbuff[i] = (float*) malloc (size *sizeof(float)); HIPCHECK(hipMemset(recvbuff[i], 0, size*sizeof(float))); - + HIPCHECK(hipStreamSynchronize(NULL)); HIPCHECK(hipStreamCreate(s+i)); } diff --git a/projects/rccl/tools/MultiRank/rccl-reducescatter-multirank.cc b/projects/rccl/tools/MultiRank/rccl-reducescatter-multirank.cc index 13aeeac612..0b1fe5b524 100644 --- a/projects/rccl/tools/MultiRank/rccl-reducescatter-multirank.cc +++ b/projects/rccl/tools/MultiRank/rccl-reducescatter-multirank.cc @@ -174,7 +174,7 @@ int main(int argc, char* argv[]) HIPCHECK(hipMalloc(recvbuff+i, recvsize*sizeof(float))); h_recvbuff[i] = (float*) malloc (recvsize *sizeof(float)); HIPCHECK(hipMemset(recvbuff[i], 0, recvsize*sizeof(float))); - + HIPCHECK(hipStreamSynchronize(NULL)); HIPCHECK(hipStreamCreate(s+i)); } diff --git a/projects/rccl/tools/rccl-prim-test/rccl_prim_test.cpp b/projects/rccl/tools/rccl-prim-test/rccl_prim_test.cpp index 8c566275cc..bb64c466c1 100644 --- a/projects/rccl/tools/rccl-prim-test/rccl_prim_test.cpp +++ b/projects/rccl/tools/rccl-prim-test/rccl_prim_test.cpp @@ -616,7 +616,7 @@ int main(int argc,char* argv[]) HIPCHECK(hipStreamSynchronize(stream[i])); HIPCHECK(hipMemset(d_profiling_data[i], 0, sizeof(struct profiling_data_t))); } - + HIPCHECK(hipStreamSynchronize(NULL)); auto start = std::chrono::high_resolution_clock::now(); for (int j = 0; j < iters; j ++) { for (int i = 0; i < nGpu; i ++) {