【发布时间】:2016-05-04 20:33:14
【问题描述】:
使用 OpenCL 时,可以通过调用来检查设备上 image3D 的最大理论尺寸
CL_DEVICE_IMAGE3D_MAX_WIDTH
CL_DEVICE_IMAGE3D_MAX_DEPTH
CL_DEVICE_IMAGE3D_MAX_HEIGHT
但例如,我的 GPU 没有提供足够的内存来分配该大小的 3D RGBA 图像。所以很明显,当我尝试推送这样的图像时,会发生 OutOfResources 错误。
我的问题:给定一个包含尺寸为<2048 的图像的vector<float>,我如何检查它是否适合我的GPU?
我的问题的背景是,我想以其他方式拆分图像以便对它进行部分处理。
【问题讨论】:
-
也应该是
CL_DEVICE_IMAGE3D_MAX_WIDTH,是不是错字? 2D 可能会提供更大的尺寸。如果您在每个大小范围内,并且设备有足够的内存,它应该可以工作。 -
@DarkZeros 更正了错字。