问题标签 [cuda]
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.
visual-studio-2008 - 编译为 64 位时启动 GLUT 应用程序时出错
我有一个 GLUT 应用程序的基本框架。当我为 Win32 编译它时,它工作正常,但如果我为 x64 编译它,我得到这个错误:
The application was unable to start correctly (0xc000007b). Click OK to close the application.
我有glut64.lib
作为链接器的输入,它来自 nVidia CUDA sdk"C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK\C\common\lib"
我想将 OpenGL 与 CUDA 结合使用,尽管这个简单的应用程序没有引用 CUDA。我在 Windows 7 64 位上运行 Visual Studio 2008。
您可以提供的任何见解将不胜感激。
主要.cpp:
random - CUDA 上的二项式随机变量生成器
我的问题如下:
我需要在 CUDA 上使用二项分布并行生成大量随机数。CUDA 上的所有随机数生成器都基于均匀分布(据我所知),这也很有用,因为二项分布的所有算法都需要使用均匀变量。
在 CUDA 上是否有任何用于二项式随机变量生成的库或实现?我看到http://acs.lbl.gov/~hoschek/colt/中有 JAVA ,但它使用了非常复杂的算法进行并行化。但是,给定 B(N,p) 之后的二项式变量,存在复杂度为 O(N) 阶的更简单算法,但这对我不利,因为 N 可能很大(大约 2^32,整数的最大值)。
我将不胜感激任何帮助。非常感谢。米格尔
PS:对不起我的英语不好:)
c - 计算CUDA中两个三角形之间的角度
我想计算 3D 空间中两个三角形之间的角度。这两个三角形将始终共享两个点。例如
三角形 1:
三角形 2:
有没有办法在 CUDA 中有效地计算它们之间的角度?
c - 释放 CUDA 内存非常缓慢
我在 GPU 上使用cudaMalloc((void**)&(storage->data), size * sizeof(float))
. 在我的程序结束时,我使用cudaFree(storage->data);
.
问题是第一次释放真的很慢,大约 10 秒,而其他的几乎是瞬时的。
我的问题如下:什么可能导致这种差异?GPU上的释放内存通常那么慢吗?
c - NVAPI 设备 ID 与 CUDA 设备 ID 有什么关系?
我正在开发一个 CUDA 应用程序来监控 GPU 的核心温度。该信息可通过 NVAPI 访问。
一个问题是,我想确保在运行代码时监控的是同一个 GPU。
但是,似乎有信息表明我从中获得的设备 IDNvAPI_EnumPhysicalGPUs
与SetDeviceId
.
谁能澄清一下?
c++ - CUDA __global__ 函数中的 printf
我目前正在 GPU 上编写矩阵乘法并想调试我的代码,但是由于我不能在设备函数中使用 printf,所以我可以做些什么来查看该函数内部发生了什么。这是我当前的功能:
我很想知道 Ad 和 Bd 是否是我认为的那样,并看看该函数是否真的被调用了。
performance - 屏幕保护程序会损害 CUDA 性能吗?
我注意到屏幕保护程序启动的那一刻,我的 CUDA 内核的运行时间几乎增加了两倍。即使它是空白屏幕保护程序,也会发生这种情况。
奇怪的是,这似乎与电源设置无关。当我禁用屏幕保护程序并关闭屏幕电源时,性能保持不变。当我将“关闭显示器”设置为“从不”并让屏幕保护程序启动时,它就会发生。
为什么会这样?
有没有办法抵消这种现象?
有没有办法告诉Windows不要启动屏幕保护程序?(媒体播放器是如何做到的?)
我正在使用 XP SP2 x64
c++ - 如何在 CUDA 应用程序中构建数据以获得最佳速度
我正在尝试编写一个简单的粒子系统,利用 CUDA 来更新粒子位置。现在我正在定义一个粒子有一个对象,它的位置用三个浮点值定义,速度也用三个浮点值定义。更新粒子时,我在速度的 Y 分量中添加一个常数值以模拟重力,然后将速度添加到当前位置以得出新位置。在内存管理方面,最好维护两个单独的浮点数组来存储数据或以面向对象的方式构建。像这样的东西:
似乎数据的大小与任何一种方法都相同(每个浮点数 4 个字节,每个向量 3 个浮点数,每个粒子 2 个向量,总共 24 个字节)似乎 OO 方法将允许 CPU 和 CPU 之间更有效的数据传输GPU,因为我可以使用单个内存复制语句而不是 2 个(从长远来看更多,因为还有一些其他有关粒子的信息将变得相关,例如年龄、寿命、重量/质量、温度等)然后还有代码的简单可读性和易于处理,这也使我倾向于 OO 方法。但是我看到的例子没有使用结构化数据,所以我想知道是否有原因。
所以问题是哪个更好:单独的数据数组或结构化对象?
algorithm - 尽可能快地计算矩阵的零空间
我需要并行计算数千个小矩阵(8x9,而不是我之前写的 4x3)的零空间(CUDA)。所有引用都指向 SVD,但数值配方中的算法似乎非常昂贵,并且除了我并不真正需要的空空间之外,还给了我很多东西。高斯消除真的不是一种选择吗?还有其他常用的方法吗?
c++ - 在 nvidia cuda 内核中创建数组
嗨,我只是想知道是否可以在 nvidia cuda 内核中执行以下操作
或以下