0

嗨,我想以最大的浮点数初始化一个设备变量,到目前为止,我这样做是这样的:

float *max;
checkCudaErrors(cudaMalloc(&max, 1));
checkCudaErrors(cudaMemset(max, std::numeric_limits<float>::max(), 1));

分别为最小浮点数

float *min;
checkCudaErrors(cudaMalloc(&min, 1));
checkCudaErrors(cudaMemset(min, std::numeric_limits<float>::min(), 1));

这是使用#include <limits>. 是否有任何其他替代方式而不包含任何内容?例如,我在此页面中看到euchar 具有最大值0xff。浮点数的最小值和最大值是否有相应的首字母缩写词?

谢谢。

4

1 回答 1

2

这是不正确的。cudaMemset设置字节,就像memset.

您无法明智地float使用cudaMemset.

改为使用cudaMemcpy

您的cudaMalloc操作也只分配 1 个字节。

于 2013-11-05T20:47:46.327 回答