问题标签 [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.

0 投票
2 回答
4816 浏览

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:

0 投票
1 回答
933 浏览

random - CUDA 上的二项式随机变量生成器

我的问题如下:

我需要在 CUDA 上使用二项分布并行生成大量随机数。CUDA 上的所有随机数生成器都基于均匀分布(据我所知),这也很有用,因为二项分布的所有算法都需要使用均匀变量。

在 CUDA 上是否有任何用于二项式随机变量生成的库或实现?我看到http://acs.lbl.gov/~hoschek/colt/中有 JAVA ,但它使用了非常复杂的算法进行并行化。但是,给定 B(N,p) 之后的二项式变量,存在复杂度为 O(N) 阶的更简单算法,但这对我不利,因为 N 可能很大(大约 2^32,整数的最大值)。

我将不胜感激任何帮助。非常感谢。米格尔

PS:对不起我的英语不好:)

0 投票
2 回答
3046 浏览

c - 计算CUDA中两个三角形之间的角度

我想计算 3D 空间中两个三角形之间的角度。这两个三角形将始终共享两个点。例如

三角形 1:

三角形 2:

有没有办法在 CUDA 中有效地计算它们之间的角度?

0 投票
2 回答
1560 浏览

c - 释放 CUDA 内存非常缓慢

我在 GPU 上使用cudaMalloc((void**)&(storage->data), size * sizeof(float)). 在我的程序结束时,我使用cudaFree(storage->data);.

问题是第一次释放真的很慢,大约 10 秒,而其他的几乎是瞬时的。

我的问题如下:什么可能导致这种差异?GPU上的释放内存通常那么慢吗?

0 投票
2 回答
666 浏览

c - NVAPI 设备 ID 与 CUDA 设备 ID 有什么关系?

我正在开发一个 CUDA 应用程序来监控 GPU 的核心温度。该信息可通过 NVAPI 访问。

一个问题是,我想确保在运行代码时监控的是同一个 GPU。

但是,似乎有信息表明我从中获得的设备 IDNvAPI_EnumPhysicalGPUsSetDeviceId.

谁能澄清一下?

0 投票
4 回答
75109 浏览

c++ - CUDA __global__ 函数中的 printf

我目前正在 GPU 上编写矩阵乘法并想调试我的代码,但是由于我不能在设备函数中使用 printf,所以我可以做些什么来查看该函数内部发生了什么。这是我当前的功能:

我很想知道 Ad 和 Bd 是否是我认为的那样,并看看该函数是否真的被调用了。

0 投票
1 回答
333 浏览

performance - 屏幕保护程序会损害 CUDA 性能吗?

我注意到屏幕保护程序启动的那一刻,我的 CUDA 内核的运行时间几乎增加了两倍。即使它是空白屏幕保护程序,也会发生这种情况。

奇怪的是,这似乎与电源设置无关。当我禁用屏幕保护程序并关闭屏幕电源时,性能保持不变。当我将“关闭显示器”设置为“从不”并让屏幕保护程序启动时,它就会发生。

为什么会这样?
有没有办法抵消这种现象?
有没有办法告诉Windows不要启动屏幕保护程序?(媒体播放器是如何做到的?)

我正在使用 XP SP2 x64

0 投票
1 回答
4331 浏览

c++ - 如何在 CUDA 应用程序中构建数据以获得最佳速度

我正在尝试编写一个简单的粒子系统,利用 CUDA 来更新粒子位置。现在我正在定义一个粒子有一个对象,它的位置用三个浮点值定义,速度也用三个浮点值定义。更新粒子时,我在速度的 Y 分量中添加一个常数值以模拟重力,然后将速度添加到当前位置以得出新位置。在内存管理方面,最好维护两个单独的浮点数组来存储数据或以面向对象的方式构建。像这样的东西:

似乎数据的大小与任何一种方法都相同(每个浮点数 4 个字节,每个向量 3 个浮点数,每个粒子 2 个向量,总共 24 个字节)似乎 OO 方法将允许 CPU 和 CPU 之间更有效的数据传输GPU,因为我可以使用单个内存复制语句而不是 2 个(从长远来看更多,因为还有一些其他有关粒子的信息将变得相关,例如年龄、寿命、重量/质量、温度等)然后还有代码的简单可读性和易于处理,这也使我倾向于 OO 方法。但是我看到的例子没有使用结构化数据,所以我想知道是否有原因。

所以问题是哪个更好:单独的数据数组或结构化对象?

0 投票
7 回答
15136 浏览

algorithm - 尽可能快地计算矩阵的零空间

我需要并行计算数千个小矩阵(8x9,而不是我之前写的 4x3)的零空间(CUDA)。所有引用都指向 SVD,但数值配方中的算法似乎非常昂贵,并且除了我并不真正需要的空空间之外,还给了我很多东西。高斯消除真的不是一种选择吗?还有其他常用的方法吗?

0 投票
4 回答
14796 浏览

c++ - 在 nvidia cuda 内核中创建数组

嗨,我只是想知道是否可以在 nvidia cuda 内核中执行以下操作

或以下