cuda 相关问题

CUDA是Nvidia GPU(图形处理单元)的并行计算平台和编程模型。 CUDA通过各种编程语言,库和API为Nvidia GPU提供了一个接口。

cuda.h 和 cudpp.h 有什么区别?我使用的是 4.2 版本,cudpp 不起作用。

cuda.h中cudpp.h有对应的函数吗: CUDPP处理Cudpp; cudppCreate(&theCudpp); CUDPP配置配置; config.op = CUDPP_ADD; 配置.数据类型 =

回答 1 投票 0

CUDA中是否有相当于intptr_t和uintptr_t的东西

由于 intptr_t 和 uintptr_t 指的是能够保存主机指针的整数类型,是否有一些可以在设备代码中使用的等效项? 这对于设备端特别有用......

回答 1 投票 0

针对旧版 GPU 的 CUDA -arch,同时仅编译调用 CUDA API 或第三方库的主机代码

假设当传递 -arch=sm_35 时,安装的 CUDA 版本仅支持我的旧 GPU。否则,内核不会执行。 假设我现在只在我的...中调用 CUDA Runtime API(cudaMalloc、cudaFree 等)

回答 1 投票 0

2D Cuda 网格内核中的 Cupy 索引?

我正在尝试开始使用 Cupy 进行一些 Cuda 编程。 我需要编写自己的内核。然而,我在 2D 内核方面遇到了困难。看来 Cupy 并没有按照我的预期工作。 这是一个非常

回答 2 投票 0

与 Turing 相反,CudaMalloc 不分配给 Ampere 微架构上的共享 GPU 内存

我正在使用 CUDA Toolkit 11.8 - 操作系统 - Windows。 该程序是在 Windows 上使用 Nvidia T1200 编译的。 我使用带有标志的 CMAKE 3.15.7: CMAKE_CUDA_ARCH_BIN:3.5 5.0 5.2 5.3 6.0 6.1 6.2 7.0...

回答 1 投票 0

CUDA编译器无法编译简单的测试程序

我正在尝试获取 NVIDIA 的 CUDA 设置并将其安装在我的配有 NVIDIA GEFORCE RTX 2080 SUPER 显卡的电脑上。经过几个小时的尝试不同的事情和大量的研究后,我得到了 CUD...

回答 2 投票 0

如何通过 CUDA 在 Julia 中将 For 循环带到 GPU 上

我刚开始研究如何使用 GPU 进行编码。 我见过带有 Nvidia GPU 的 CUDA。 我在CPU上的代码是用BlackBoxOptim.jl的优化方法如下: px_values = 收集...

回答 1 投票 0

启动多个内核(>1000)时 CUDA 流被阻塞

我发现当我启动大量内核(超过1000个)时,CUDA流会阻塞。我想知道有什么配置可以更改吗? 在我的实验中,我启动了一个小内核 10000 tim...

回答 2 投票 0

如何在内核启动后让 CUDA 返回控制权?

这可能是一个愚蠢的问题,但是有没有办法从内核异步返回?例如,我有这个内核,它执行第一个流压缩,然后输出给用户,但在此之前......

回答 1 投票 0

获取 OptiX 的 CUDA 上下文时对 `cuCtxGetCurrent` 的未定义引用

我正在尝试学习如何将 OptiX 实现到我的 C++ 项目中。第一步是使用 cuCtxGetCurrent(&some_CUcontext_variable) 获取当前的 CUDA 上下文,但是我得到了一个 c...

回答 2 投票 0

CUDA 缩减最小值和指数

我通过遵循这个很好的解释并修改它,使用 CUDA 8 实现了最小减少 __inline__ __device__ int warpReduceMin(int val) { for (int offset = warpSize / 2; offset >...

回答 2 投票 0

为CPU编译cuda代码

我正在学习cuda 5.5,但我没有任何Nvidia GPU。在旧版本的nvcc中有一个标志--multicore来为CPU编译cuda代码。 在新版本的 nvcc 中,有什么选项?我正在研究 L...

回答 4 投票 0

Python 无法检测到 cuda,即使 nvcc --version 可以检测到

我正在尝试让 cuda 在 miniconda3 上工作以在我的 GPU 上运行模型等: 不知怎的,它就是行不通。 cuda安装在我的电脑上,cudatoolkit和cuda包一般都安装了...

回答 1 投票 0

Huggingface Trainer 即时关闭 Vcenter 中的 Ubuntu 虚拟机,无警告,无日志,无错误

我已经解决这个问题一个多星期了,因为这个问题在任何类型的日志中都留下了零痕迹。我问这个问题是为了看看其他人有没有经历过...

回答 1 投票 0

CUDA 内核模板实例化导致编译错误

我正在尝试定义一个模板 CUDA 内核用于图像上的逻辑操作。代码如下所示: #定义和1 #定义或2 #定义异或3 #定义SHL 4 #定义SHR 5 模板 我正在尝试为图像上的逻辑操作定义一个模板 CUDA 内核。代码如下所示: #define AND 1 #define OR 2 #define XOR 3 #define SHL 4 #define SHR 5 template<typename T, int opcode> __device__ inline T operation_lb(T a, T b) { switch(opcode) { case AND: return a & b; case OR: return a | b; case XOR: return a ^ b; case SHL: return a << b; case SHR: return a >> b; default: return 0; } } //Logical Operation With A Constant template<typename T, int channels, int opcode> __global__ void kernel_logical_constant(T* src, const T val, T* dst, int width, int height, int pitch) { const int xIndex = blockIdx.x * blockDim.x + threadIdx.x; const int yIndex = blockIdx.y * blockDim.y + threadIdx.y; if(xIndex >= width || yIndex >= height) return; unsigned int tid = yIndex * pitch + (channels * xIndex); #pragma unroll for(int i=0; i<channels; i++) dst[tid + i] = operation_lb<T,opcode>(src[tid + i],val); } 问题是,当我实例化内核进行位移位时,出现以下编译错误 错误 1 错误:Ptx 组装因错误而中止 内核瞬间是这样的: template __global__ void kernel_logical_constant<unsigned char,1,SHL>(unsigned char*,unsigned char,unsigned char*,int,int,int); 对于 unsigned char、unsigned short、1 和 3 通道以及所有逻辑运算,还有 19 个这样的时刻。但只有位移实例,即 SHL 和 SHR 才会导致错误。当我删除这些实例时,代码可以完美编译并运行。 如果我用 operation_lb 设备函数内的任何其他操作替换位移位,该代码也可以工作。 我想知道这是否与由于内核的许多不同实例而生成的 ptx 代码量有关。 我使用的是 CUDA 5.5、Visual Studio 2010、Windows 8 x64。编译compute_1x, sm_1x。 如有任何帮助,我们将不胜感激。 最初的问题指定发帖者使用的是compute_20, sm_20。这样,我无法使用代码here重现错误。然而,评论中指出,实际上正在使用 sm_10。当我切换到编译sm_10时,我能够重现该错误。 它似乎是编译器中的一个错误。我这么说只是因为我不相信编译器应该生成汇编器无法处理的代码。然而除此之外,我不知道根本原因。我已向 NVIDIA 提交了错误报告。 在我有限的测试中,它似乎只发生在unsigned char而不是int。 作为一种可能的解决方法,对于 cc2.0 及更新版本的设备,请在编译时指定 -arch=sm_20。

回答 1 投票 0

在 C++ 代码中用指针向量替换双指针变量时面临问题

我在代码中使用 C++ 11 标准。我已经使用双指针变量有一段时间了,现在我想用指针向量替换它。更换后,我得到了

回答 1 投票 0

主要系列(11.x、12.x)中较新的 CUDA 版本是否向后兼容另一个版本?

我们一直倾向于“并行”安装给定主要系列的所有 CUDA 版本 - 例如,对于 CUDA 11,我们安装 11.0、11.1、...、11.8。我们真的需要这样做吗,o...

回答 1 投票 0

如何写入 fp16 表面?

我有一个 4 通道纹理/表面,它们分配有以下描述符: cudaChannelFormatDesc cuda_map_desc = cudaCreateChannelDesc(32, 32, 32, 32, cudaChannelFormatKindFloat); CUDA...

回答 1 投票 0

在 Linux 上为特定用户安装 CUDA 版本

我正在通过远程连接在Linux(Ubuntu 20.04)服务器上工作。 该服务器上的每个用户都有登录详细信息(即名称和密码) 服务器上安装的CUDA版本是11.3,我想要...

回答 1 投票 0

如何使用将一维数组绑定到纹理对象

我想将GPU的纹理内存用于一维数组并在内核中使用它。 我创建一个纹理对象,并将 resDesc.res.linear.devPtr 分配给设备数组,以将所需的数组绑定到纹理

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.