cuda - 为什么我会收到关于 cudaMemcpyToArray(...) 被弃用的警告?
问题描述
这是什么警告,我该如何解决?
warning: ‘cudaError_t cudaMemcpyToArray(cudaArray_t, size_t, size_t, const void*, size_t, cudaMemcpyKind)’ is deprecated [-Wdeprecated-declarations]
解决方案
Deprecated 意味着不推荐使用它,并且在下一个 CUDA 版本中可能会放弃对它的支持。
这里给出了如何处理它的描述。
对于将整个分配从主机复制到设备的典型用法,并且源(主机)分配是w
按高度行对宽度元素进行平坦(无间距)分配h
,可能是这样的:
cudaMemcpyToArray(dst, 0, 0, src, h*w*sizeof(src[0]), cudaMemcpyHostToDevice)
您可以将其替换为:
cudaMemcpy2DToArray(dst, 0, 0, src, w*sizeof(src[0]) , w*sizeof(src[0]), h, cudaMemcpyHostToDevice);
此处记录了替换 API( cudaMemcpy2DToArray
) 。
请注意,在我给出的示例中,如果您不知道由行和列组成的“2D”分配,而是对(比如说)w
元素进行单一平面分配,您可以简单地h=1
在上面的公式中进行设置。
推荐阅读
- php - 如何获取帐户激活电子邮件以在 PHP 中发送?
- google-sheets - 从arrayformula()返回值求和?
- c# - 如何应用工厂模式,接口没有方法(属于实现类)
- python - 如何从字典列表中创建 FusionCharts 热图?
- notepad++ - Notepad++ 条件替换
- javascript - Django chartjs多个图表堆叠
- javascript - axios拦截器重试发送FormData
- spring-boot - Spring Security OAuth2 Jwt 访问被拒绝
- c++ - 如何从函数返回 C-String 并显示它
- javascript - 尝试在 componentDidMount 中使用 fetch 显示未定义 [react native]