Size up IPC buffers to multiples of 2MB

Avoid potential CUDA error in concurrent communicator initialization
Этот коммит содержится в:
Ke Wen
2019-07-12 08:30:05 -07:00
родитель 0b192d2299
Коммит c8c68fb5f7
2 изменённых файлов: 5 добавлений и 3 удалений
+1 -1
Просмотреть файл
@@ -23,7 +23,7 @@ struct cudaLaunchParams {
#define CACHE_LINE_SIZE 128
#define MEM_ALIGN 4096
#define CUDA_IPC_MIN 2097152UL /* 2MiB - not currently used */
#define CUDA_IPC_MIN 2097152UL
struct ncclSendMem {
union {
+4 -2
Просмотреть файл
@@ -468,7 +468,8 @@ ncclResult_t p2pSendSetup(struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peer
struct p2pSendResources* resources;
NCCLCHECK(ncclCalloc(&resources, 1));
send->transportResources = resources;
const int sendSize = sizeof(struct ncclSendMem);
int sendSize = sizeof(struct ncclSendMem);
ALIGN_SIZE(sendSize, CUDA_IPC_MIN);
NCCLCHECK(ncclCudaCalloc((char**)&resources->devMem, sendSize));
struct p2pConnectInfo info;
@@ -517,7 +518,8 @@ ncclResult_t p2pRecvSetup(struct ncclPeerInfo* myInfo, struct ncclPeerInfo* peer
struct p2pRecvResources* resources;
NCCLCHECK(ncclCalloc(&resources, 1));
recv->transportResources = resources;
const int recvSize = offsetof(struct ncclRecvMem, buff)+buffSize;
int recvSize = offsetof(struct ncclRecvMem, buff)+buffSize;
ALIGN_SIZE(recvSize, CUDA_IPC_MIN);
NCCLCHECK(ncclCudaCalloc((char**)&resources->devMem, recvSize));
struct p2pConnectInfo info;