使用CUDA“预热”GPU的最佳方法?
我知道这条线 但是,即使有伟大的互联网,这本CUDA的书和它附带的代码示例,我也找不到一个预热内核的例子使用CUDA“预热”GPU的最佳方法?,cuda,gpu,Cuda,Gpu,我知道这条线 但是,即使有伟大的互联网,这本CUDA的书和它附带的代码示例,我也找不到一个预热内核的例子 我的问题是:在运行计时器实验之前,用CUDA预热GPU的最好、最干净的方法是什么 在本书的示例中,定义了一个类似于此的简单内核,作为预热在每个可见GPU上执行: __global__ void warm_up_gpu(){ unsigned int tid = blockIdx.x * blockDim.x + threadIdx.x; float ia, ib; ia = ib
我的问题是:在运行计时器实验之前,用CUDA预热GPU的最好、最干净的方法是什么 在本书的示例中,定义了一个类似于此的简单内核,作为预热在每个可见GPU上执行:
__global__ void warm_up_gpu(){
unsigned int tid = blockIdx.x * blockDim.x + threadIdx.x;
float ia, ib;
ia = ib = 0.0f;
ib += ia + tid;
}
这只有在你分析的时候才有必要。即便如此,它的有用性也值得怀疑。你的目标是什么?@3说到这里,作为一个初学者,我的目标首先是获得知识,以防我需要它,做到这一点。我的论文是关于FDTD的GPGPU实现。热身是没有必要的。将所有数据放到GPU上需要时间,但这应该是性能分析中的一个单独类别,在开始时标记为开销BSA cudaFree0不会有什么坏处。这就确保了惰性上下文创建已经被排除在外了。好吧,有时候最好的办法是运行两次,然后只测量第二次。但这只是性能数据。不要在日常使用中预热。