其它硬件开发
根据文档,当我在我的Mac(OSX 10.11)上安装CUDA 7.5工具包,我应该得到nvrtc文件。我不。在哪里可以找到nvrtc头文件和库?他们是否应该在捆绑中,而不是? 解决方案 所以诀窍是: 1)安装XCode(从App Store)FIRST。在App Store完成安装后,您必须进入您的应用程序菜单,并实际运行它并接受许可证。 2)使用Homebrew版本:
..
我想学习配置为在设备内核中运行的块的数量。 解决方案 我不能找到一行而是的确切数字, gridDim.x gridDim.y ... 给出了我想要的,如果你知道你在使用什么维度的内核,你可以通过这些值获得数字。
..
我有一台配备NVIDIA GT750M 4Gb(计算能力3.0)显卡的笔记本电脑。我需要排序CUDA上的结构数组(约3×10 ^ 7个元素)。但我不知道如何,因为我没有足够的经验在CUDA。当使用 thrust :: sort 我得到奇怪的结果(需要几十分钟,而 std :: sort 1 分钟)。 struct MyStruct { float key; float a;
..
所以我一直在工作的程序,我在全局内存中创建一个哈希表。代码在GTS250是一个Compute 1.1设备是完全功能(虽然较慢)。但是,在Compute 2.0设备(C2050或C2070)上,哈希表已损坏(数据不正确,指针有时错误)。 基本上,使用一个块(两个设备)。但是,当使用2个或更多块时,它只能在GTS250上工作,而不能在任何Fermi器件上工作。 我知道两者之间的翘曲调度和内
..
我有一小段代码如下: typedef struct { double sX; double sY; double vX; double vY; int rX; int rY; int mass int species; int boxnum; } particle; typedef struct { double mX; double mY
..
正如主题所说,我无法让调试器工作。下面是完成的步骤顺序。 注意:我安装了Cuda 5.0并安装了NSight Visual Studio 3.0。我听说有可能调试现在用一个单一的GPU。我假设5.0是正常的,我不需要5.5发布候选人? 1)根据网站: CudafyModes.Target = eGPUType.Cuda; CudafyModes.DeviceId = 0;
..
我浏览了 Cuda节目指南但仍不清楚翘曲是否会屈服于其他随时可执行的翘曲?任何解释或指针请?如果是,在什么条件下,翘曲产量? 解决方案 是的,片上调度器交错执行warp。调度策略有意未指定,因为调度策略可能会更改。 NVIDIA不希望CUDA开发人员编写依赖于当前调度策略但在较新的GPU上失败的代码。 一般来说,拥有多个warp的目的是,线程等待指令完成执行,另一个线程可以准备好执行
..
cusparse手册只提供了一个函数cusparsecsrmm,它将稀疏矩阵与CSR格式乘以密集矩阵,但是为什么它不为CSC格式的稀疏矩阵提供cusparsecscmm函数(因为它被引入作为稀疏矩阵之一数据格式在手册)?我缺少一些东西? 我试过像Eric的建议,但它失败了: cusparse错误:3在cusparse_test.cpp在第106行 和错误代码3是
..
我试图计算简单向量添加内核的DRAM(全局内存)访问次数。 __ global__ void AddVectors(const float * A,const float * B,float * C,int N) { int blockStartIndex = blockIdx.x * blockDim.x * N; int threadStartIndex = blockSta
..
我尝试使用 ISHFT()函数并行地对一些32位整数进行bithift转换,使用CUDA FORTRAN。 问题是,我得到不同的答案 ISHFT(-4,-1)和 ISHFT(var,-1),即使 var = -4 。这是我写的测试代码: 模块testshift integer :: test integer,device :: d_test 包含 属性(全局)子程
..
我有一个奇怪的事情发生在我的CUDA工具包5.0。 几天前,XCode和NSight Eclipse插件失去构建更简单的CUDA相关项目的能力。 XCode使用自定义构建规则为C ++源文件成功构建项目: nvcc“INPUT_FILE_NAME” 错误:可执行文件不存在:'/ Users / geraldus / Library / Developer / Xcode /
..
当我取消选中在NetBeans IDE中启用依赖关系检查(请参见此问题)时,现在IDE使用nvcc并编译my。 cu to .o但是它根本没有链接: “/ usr / bin / make”-f nbproject / Makefile- Debug.mk QMAKE = SUBPROJECTS = .build-conf make 1 :输入目录 / me / NetBeansProj
..
我需要创建一个数组,它接受两个参数:数组及其大小。 我有一个这样的函数: __ global__ void reverseArray(int * data,int size){ int tid = blockIdx.x //总块数 } 如何使用此函数反转数组? 解决方案 这取决于您的启动参数,但您可以尝试 code> __ global
..
我在编译我的.cu代码时使用了--ptax-options = -v,它提供了以下内容: ptxas info:使用74个寄存器,124个字节smem,16个字节cmem [1] rev:2.0 名称:tesla c2050 每个块的共享内存总数:49152 total reg。每块:32768 现在,我将这些数据输入到cuda占用计算器,
..
SIMD指令的吞吐量低于32位整数运算。 在SM2.0(仅限标量指令版本)的情况下,降低2倍。 class =“h2_lin”>解决方案 如果您的数据已经以SIMD视频指令本地处理的格式打包,则需要多个步骤来解包,以便可以通过 此外,SIMD视频指令的吞吐量还应乘以与普通算术运算比较时实际执行的操作数。 例如,对于 vadd4 。为了使用普通整数加法重复这种行为,需要一个相当
..
我想知道,当线程必须比较和存储来自本地,共享或全局变量的值时,如何避免内核分支。例如,以下代码检查共享变量,并将 bool 标志相应设置为true if(shared_variable
..
我写了一个CUDA内核来处理图像。但是根据处理的图像的输出,我必须再次调用内核,重新调整图像。 例如,让我们考虑具有 9 像素的图像 1 2 3 4 5 6 7 8 9 ,取决于其相邻值,值 9 更改为 10 。由于值已更改,因此必须使用相同的内核重新处理新图片。 1 2 3 4 5 6 7 8 10 我已经写了算法来处理图
..
我一直在使用 Nvidia Performance Primitives(NPP)中的图片卷积功能。然而,我的内核相对于图像大小相当大,我听说有传言NPP的卷积是直接卷积,而不是基于FFT的卷积。 (我不认为NPP源代码是可用的,所以我不知道它是如何实现的。) 我想看一下基于cuFFT 的卷积函数可以在我正在处理的图像处理应用程序中运行。 你可能会说“嘿,只是把你的形象放入cuFFT,
..
对CUDA只有几点疑问。也许他们可能看起来很蠢的问题; 如果我在GPU上声明了一个变量(例如,一个数组 alpha ,并且 ,那么我会为此感到抱歉。) cudaMalloc((void **)& alpha,N * sizeof(double)))并在全局函数中分配其值,而不释放其内存,可以用于其他连续的全局函数,对吗? 此外,是否可能(或建议)计算GPU上的标量变量,在GPU上,或
..
我想了解CUDA中统一虚拟寻址(UVA)的概念。我有两个问题: 是否有任何示例(psudo)代码演示了这个概念? li> 我在CUDA C编程指南中读到,UVA只能用于64位操作系统。为什么会这样? 解决方案 A 将指针(值)和设备代码中使用的分配映射与指针组合在一起(值)和主机代码中使用的分配映射到单个统一空间中。 1 - 是否有可用的展示这个概念? 这个方法的一
..