- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
调用:
cudaExtent extent = make_cudaExtent( 1920 * sizeof(float), 1080, 10);
chanDesc = cudaCreateChannelDesc ( 32, 0, 0, 0, cudaChannelFormatKindFloat);
err = cudaMalloc3DArray ( &(devYAll[0]), &chanDesc, extent, 0);
因 err=cudaErrorInvalidValue
而失败。当我使用第一个参数将范围设置为 1024 或更小时,对 3D 数组的调用就会成功。可以用 cudaMalloc3DArray
分配的内存大小有某种限制吗?
最佳答案
是的,范围大小有限制 - 2048x2048x2048 或 4096x4096x4096,具体取决于您拥有的硬件(根据您问题中的详细信息,我假设您有 Fermi 卡)。但问题的真正根源是您的 make_cudaExtent
调用。对于 cudaMalloc3DArray
,extent 的第一个参数应该在 elements 中给出,而不是字节。这就是为什么第一维 > 1024 时会出现错误,因为 1024 * sizeof(float) = 4096 这是 Fermi GPU 的极限。
因此,要分配一个 1920x1080x10 的 3D 数组,请执行以下操作:
cudaExtent extent = make_cudaExtent( 1920, 1080, 10);
chanDesc = cudaCreateChannelDesc ( 32, 0, 0, 0, cudaChannelFormatKindFloat);
err = cudaMalloc3DArray ( &(devYAll[0]), &chanDesc, extent, 0);
在这个调用中,类型的大小是从 channel 描述中推导出来的,并且根据需要修改范围尺寸以满足硬件的间距/对齐要求。
关于cudaMalloc3DArray 因错误值而失败——大小限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14713793/
我这样做是出于教育目的。 这就是想法: 我有类数组。我在类 Darray 中继承它,并添加必要的维度 它喜欢这样: 主要.cpp int main(int argc, char *argv[]) {
我正在探索 Julia 的并行计算并尝试了这个: a=dzeros(5);a[1]=5 但刚刚得到这个错误: setindex! not defined for DArray{{Float64, 1,
import numpy as np import scipy.ndimage from PIL import Image import urllib.request url = 'http://st
我有一个用于并行编程类的并行 I/O 项目,我必须实现派生数据类型。我不太清楚darray和subarray之间的区别。 darray 是否可以从动态分配的数组派生?主要区别是什么? 最佳答案 子数组
我是一名优秀的程序员,十分优秀!