Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想用来cudaMemcpy创建一个向量 (1,...,1),这样我就可以做一些事情,比如对矩阵的行/列求和,或者用 CUBLAS 将向量添加到矩阵中。代码将在不同的平台上运行,所以
cudaMemcpy
sizeof
首先回答您的第二个问题,设备始终使用与主机编译器相同的数据类型规范。所以你可以sizeof(...)在主机上使用来确定相关的大小。如果不是这样,很多东西都会被破坏。
sizeof(...)
那么,要回答您的第一个问题,我们只需要问一下,在 CUDA 支持的主机端编译器中,float表示总是 32 位吗?答案是肯定的。
float
顺便说一句,请注意,对于大多数平台而言,这通常是正确的。很难找到具有 32 位浮点数以外的系统。但据我所知,没有一般的 C 或 C++ 要求 float 为 32 位。别人可能会证明我错了。