float4向量类型后的方括号

问题描述 投票:0回答:1

我正在学习 CUDA 教程,在某个时候共享内存是动态分配的,如下所示:

extern __shared__ float4[] buffer;

除了vector类型

[]
后面的方括号
float4
外,似乎还蛮容易理解的。他们的意思是什么?我为什么要写它们?

cuda extern gpu-shared-memory
1个回答
2
投票

这用于动态共享内存,正确的方法是:

extern __shared__ float4 buffer[]

,不是

extern __shared__ float4[] buffer

当你使用这个时,你还必须在内核调用中使用分配内存的大小:

size_t blockSize = theBlockSize * theBlockSize
myfunc<<< NbBlocks, NbThreadsPerBlock , sizeof(float4) * blockSize>>>
© www.soinside.com 2019 - 2024. All rights reserved.