Skip to content

Commit 18558eb

Browse files
Allow default alignment less then 16.
1 parent 2ea4ee9 commit 18558eb

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/enqueue.cc

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1286,6 +1286,7 @@ static ncclResult_t uploadWork(struct ncclComm* comm, struct ncclKernelPlan* pla
12861286
size_t batchBytes = plan->nWorkBatches*sizeof(struct ncclDevWorkBatch);
12871287
void* fifoBufHost;
12881288
uint32_t fifoCursor, fifoMask;
1289+
const int alignment = 16;
12891290

12901291
switch (plan->workStorageType) {
12911292
case ncclDevWorkStorageTypeArgs:
@@ -1302,8 +1303,9 @@ static ncclResult_t uploadWork(struct ncclComm* comm, struct ncclKernelPlan* pla
13021303
plan->kernelArgs->workBuf = comm->workFifoBufDev;
13031304
break;
13041305
case ncclDevWorkStorageTypePersistent:
1305-
static_assert(16 <= alignof(max_align_t), "We rely on 16-byte alignment.");
1306-
fifoBufHost = malloc(workBytes);
1306+
fifoBufHost =
1307+
aligned_alloc(16,
1308+
((workBytes + alignment - 1) / alignment) * alignment);
13071309
fifoCursor = 0;
13081310
fifoMask = ~0u;
13091311
break;

0 commit comments

Comments
 (0)