概述
这两天在MATLAB里面用CUDA, 结果老是不对, 找了半天才发现, 原来是分配的问题
所以提醒小伙伴们, 分配的时候先看下你的GPU性能
>> gpuDevice
ans =
CUDADevice (具有属性):
Name: 'Quadro K2000'
Index: 1
ComputeCapability: '3.0'
SupportsDouble: 1
DriverVersion: 7.5000
ToolkitVersion: 7.5000
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 2.1475e+09
AvailableMemory: 1.6566e+09
MultiprocessorCount: 2
ClockRateKHz: 954000
ComputeMode: 'Default'
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 1
MaxThreadsPerBlock: 1024
其中这段话关键, 如果你是block是二维的话,那么你的threadsPerBlock.x * threadsPerBlock.y 不能大于1024.
我用dim3 threadsPerBlock(256, 256); 试了半天, 最终返回的矩阵都是全零矩阵, 所以希望大家注意
最后
以上就是纯真小兔子为你收集整理的matlab中组间设置block,matlab中cuda编程中分配grid和block dimension的时候的注意事项...的全部内容,希望文章能够帮你解决matlab中组间设置block,matlab中cuda编程中分配grid和block dimension的时候的注意事项...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复