cuda相关内容

使用 Cuda 进行 128 位向量加法,性能问题

我想添加带有进位的 128 位向量.我的 128 位版本(下面代码中的 addKernel128)比基本 32 位版本(下面的 addKernel32)慢两倍.我有内存合并问题吗?如何获得更好的性能? #include "cuda_runtime.h"#include "device_launch_parameters.h"#include #define UADDO(c, ..
发布时间:2022-01-10 15:45:23 其他开发

关于错误代码“无效的设备功能"通过带有 compute_ 和 sm_ 编译选项的 nvcc

希望您能帮我找出下面这张卡片所需的正确编译器选项: >./deviceQuery 开始...>>CUDA 设备查询(运行时 API)版本(CUDART 静态链接)>>检测到 1 个支持 CUDA 的设备>>设备 0:“GeForce GTX 780 Ti">CUDA 驱动程序版本/运行时版本 7.0/6.5>CUDA 能力主要/次要版本号:3.5>全局内存总量:3072 MBytes (3220 ..
发布时间:2022-01-10 15:44:31 其他开发

如何使用 CUBLAS 对复数执行 Hadamard 乘积?

我需要使用 NVidia CUBLAS 计算复数的两个向量(Hadamard 乘积)的元素乘法.不幸的是,CUBLAS 中没有 HAD 操作.显然,您可以使用 SBMV 操作来做到这一点,但在 CUBLAS 中它没有实现复数.我不敢相信 CUBLAS 无法实现这一目标.对于复数,还有其他方法可以使用 CUBLAS 实现吗? 我无法编写自己的内核,我必须使用 CUBLAS(或其他标准 NVID ..
发布时间:2022-01-10 15:44:25 其他开发

CUFFT的计算性能

我在划分为多个 GPU 的块 (N*N/p) 上运行 CUFFT,我对计算性能有疑问.首先,关于我是如何做到的: 向每个 GPU 发送 N*N/p 个块 对 p 个 GPU 中的每一行进行批量 1-D FFT 将 N*N/p 个块返回主机 - 对整个数据集执行转置 同上步骤 1 同上第 2 步 Gflops = ( 1e-9 * 5 * N * N *lg(N*N) )/执行时 ..
发布时间:2022-01-10 15:44:18 其他开发

作为 CUDA __global__ 函数的 C++ 对象的成员函数

我有一个基类: 模板A类{上市://一些数据T数据;//一些函数,如构造等...//一个虚函数虚拟无效评估()= 0;} 还有一个派生类: 模板B类:公共A{上市://一些函数,如构造函数等虚空评估();__global__ 无效函数2();//**** 错误信息} 还有,我有 模板空白B::evaluate(){d ..
发布时间:2022-01-10 15:44:09 C/C++开发

使用 CUBLAS 例程在 GPGPU 上保留点积

我正在编写代码来使用点积的 CUBLAS 例程计算两个向量的点积,但它返回主机内存中的值.我只想使用点积在 GPGPU 上进行进一步计算.如何使值仅驻留在 GPGPU 上并将其用于进一步计算,而无需从 CPU 到 GPGPU 进行显式复制? 解决方案 你不能完全使用 CUBLAS. 根据 talonmies 的回答,从 CUBLAS V2 api (CUDA 4.0) 开始返回值可以是设备 ..
发布时间:2022-01-10 15:44:03 其他开发

您如何包含标准 CUDA 库以与 NVRTC 代码链接?

具体来说,我的问题是我的 CUDA 代码需要 才能运行.默认情况下,这不包含在 NVRTC 中.大概在创建程序上下文时(即调用nvrtcCreateProgram),我必须发送文件名(curand_kernel.h)以及源代码curand_kernel.h?我觉得我不应该这样做. 很难说;我还没有设法从 NVIDIA 找到一个需要像这样的标准 CUDA 文 ..
发布时间:2022-01-10 15:43:57 其他开发

cuda-gdb 因推力而崩溃(CUDA 版本 5.5)

我有以下琐碎的thrust::gather 程序(直接取自thrust::gather 文档) #include #include 诠释主要(无效){//用 1 标记偶数索引;带有 0 的奇数索引整数值[10] = {1, 0, 1, 0, 1, 0, 1, 0, 1, 0};推力::device_vector ..
发布时间:2022-01-10 15:43:40 其他开发

在当前不可调试的 GPU 上创建了 CUDA 上下文

当我开始 cuda 调试时,Nsight 返回这个错误: 在当前不可调试的 GPU 上创建了 CUDA 上下文.断点将被禁用. 适配器:GeForce GT 720M 这是我的系统和 CUDA 信息. 请注意,已安装最新版本的 CUDA 和 Nsight. 我搜索了这个问题,但找不到我的答案.非常感谢. 报告信息UnixTime 生成 1490538033操作系统信 ..
发布时间:2022-01-10 15:43:33 其他开发

exp 的 CUDA C++ 数学函数是否默认具有覆盖函数?

问题来自我在文档中找到了两个函数exp 和expf.据说exp表示double exp(double),expf表示float expf(float).我想知道 exp 是否可以具有默认覆盖版本,例如 float exp(float) 或 fp16 exp(fp16).或者当输入是不同的类型时我必须使用不同的功能吗? 考虑一个我使用模板的场景: 模板T 计算 (T ..
发布时间:2022-01-10 15:43:26 C/C++开发

我可以将 CUDA 与非 NVIDIA GPU 一起使用吗?

我正在寻找一种在没有 NVIDIA GPU 的系统上运行 CUDA 程序的方法. 我尝试安装 MCUDA 和 gpuOcelot,但安装时似乎遇到了一些问题. 我已经阅读了 如何使用软件实现在没有 GPU 的情况下运行 CUDA?.那里的答案建议更改系统的硬件,使用模拟器(现已弃用)或切换到 OpenCL.这些都不能充分满足我的要求 解决方案 CUDA 是 NVIDIA 专有技 ..
发布时间:2022-01-10 15:43:20 其他开发

使用 cudaMallocPitch 分配二维数组并使用 cudaMemcpy2D 进行复制

我是 CUDA 的新手,感谢您的帮助,希望您能帮助我. 我需要将二维数组的多个元素存储到一个向量中,然后对向量进行处理,但是我的代码效果不好,调试的时候发现在设备中用cudaMallocPitch 并使用 cudaMemcpy2D 复制到该数组.这是我的代码: #include #include #include #incl ..
发布时间:2022-01-10 15:43:04 其他开发

CUDA:在扭曲减少和 volatile 关键字中

阅读以下问题及其答案后 链接 我的脑海里还有一个问题.来自我的 C/C++ 背景;我知道使用 volatile 有它的缺点.并且在答案中还指出,在 CUDA 的情况下,如果不使用 volatile 关键字,优化可以用寄存器替换共享数组以保存数据. 我想知道在计算(总和)减少时会遇到哪些性能问题.例如 __device__ void sum(volatile int *s_data, ..
发布时间:2022-01-10 15:42:55 C/C++开发

用clang编译CUDA

我是 LLVM 新手.听说clang支持CUDA.如何使用 clang 编译 CUDA?我是否必须进行一些配置更改或包含任何特定的头文件?我在网上找不到有关此的任何信息.有可能吗? 现在,当我尝试使用 clang as 编译一个虚拟 cuda 程序时 clang -I/usr/local/cuda/include 文件名.cu 我收到以下错误 未知类型名称 '__global__'_ ..
发布时间:2022-01-10 15:42:48 其他开发

CudaMalloc 是如何工作的?

我正在尝试修改 CUDA SDK 中的 imageDenosing 类,我需要多次重复过滤器以捕获时间.但是我的代码不能正常工作. //开始 __global__ void F1D(TColor *image,int imageW,int imageH, TColor *buffer){常量 int ix = blockDim.x * blockIdx.x + threadIdx.x;常量 ..
发布时间:2022-01-10 15:42:38 其他开发

如何在 pyCUDA 内核中生成随机数?

我正在使用 pyCUDA 进行 CUDA 编程.我需要在内核函数中使用随机数.CURAND 库在其中不起作用(pyCUDA).由于 GPU 有很多工作要做,在 CPU 内部生成随机数然后将它们传输到 GPU 是行不通的,反而消解了使用 GPU 的动机. 补充问题: 有没有办法使用 1 个块和 1 个线程在 GPU 上分配内存. 我正在使用多个内核.我需要使用多个 SourceModu ..
发布时间:2022-01-10 15:42:19 其他开发

按位置选择的CUDA GPU,但如何将默认设置为设备0以外的东西?

我最近在家里的机器上安装了第二个 GPU (Tesla K40),我的搜索表明第一个 PCI 插槽成为为 CUDA 作业选择的默认 GPU.一个很好的链接解释它可以在这里找到: 默认 GPU 分配 我原来的 GPU 是 TITAN X,也启用了 CUDA,但它确实最适合单精度计算,而 Tesla 更适合双精度.我对小组的问题是,是否有办法将我的默认 CUDA 编程设备设置为始终是第二个 ..
发布时间:2022-01-10 15:42:05 其他开发