问题标签 [cuda-arrays]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
235 浏览

c++ - 在 CUDA 中获取纹理对象

我可以在网上找到很多使用 CUDA 纹理引用的示例,但依赖纹理对象的例子并不多。我试图理解为什么我下面的代码总是获取0而不是我的输入纹理。我错过了什么,还是使用了错误的设置?我尽可能地简化了它:

0 投票
1 回答
189 浏览

c++ - 从内核直接写入 D3D 纹理

我正在使用来自 NVIDIA CUDA 样本的 NVDEC H.264 解码器,我发现一件事是一旦帧被解码,它就会从 NV12 转换为分配在 CUDA 一侧的 BGRA 缓冲区,然后将该缓冲区复制到 D3D BGRA质地。

我发现这在内存使用方面效率不高,并希望使用此内核将 NV12 帧直接转换为 D3D 纹理:

void Nv12ToBgra32(uint8_t *dpNv12, int nNv12Pitch, uint8_t *dpBgra, int nBgraPitch, int nWidth, int nHeight, int iMatrix)

因此,创建 D3D 纹理(BGRA、D3D11_USAGE_DEFAULT、D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_UNORDERED_ACCESS、D3D11_CPU_ACCESS_WRITE、1 个 mipmap),然后在 CUDA 端注册并写入:

一旦调用内核,我就会崩溃。可能是因为滥用 CUarray,任何人都可以澄清如何使用 cuGraphicsSubResourceGetMappedArray 的输出从 CUDA 内核写入纹理内存?(由于只需要写入原始内存,因此无需处理正确的钳位、过滤和值缩放)

0 投票
2 回答
39 浏览

cuda - 为什么我的二维数组复制参数被驱动 API 拒绝?

我正在尝试使用 CUDA 驱动程序 API 将数据复制到 2D 数组中,在下面列出的程序中,但是当我传递我的复制参数时出现“无效值”错误。它们的什么价值是错误的?

该程序的完整输出:

附加信息:

  • CUDA 工具包版本:11.4
  • NVIDIA驱动版本:470.57.02
  • 操作系统发行版:Devuan Chimaera GNU/Linux
  • GPU:GeForce 1050 TI Boost(计算能力 6.1)
  • 主机架构:amd64
0 投票
0 回答
13 浏览

multi-gpu - 如何在上下文之间复制 2D CUDA 数组/纹理?

假设我想在不同的 CUDA 上下文(可能在不同的设备上)之间复制一些内存。CUDA 驱动程序 API为我提供

  • cuMemcpyPeer- 对于普通旧设备全局内存
  • cuMemcpy3DPeer- 用于 3D 阵列/纹理

但是二维数组似乎没有类似的 API 函数。为什么?还有——我该怎么办?我应该在两种情况下都通过普通的全局内存缓冲区吗?

PS - 异步副本的问题相同;我们涵盖了普通和 3D 案例,但没有 2D。