问题标签 [cuda.net]

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 投票
4 回答
34299 浏览

c# - CUDA 驱动程序 API 与 CUDA 运行时

编写 CUDA 应用程序时,您可以在驱动程序级别或运行时级别工作,如图所示(库是 CUFFT 和 CUBLAS 用于高级数学):

CUDA层模型
(来源:tomshw.it

我假设两者之间的权衡是提高低级 API 的性能,但以增加代码复杂性为代价。具体的区别是什么?有什么重要的事情是你不能用高级 API 做的?

我正在使用 CUDA.net 与 C# 进行互操作,它是作为驱动程序 API 的副本构建的。这鼓励在 C# 中编写大量相当复杂的代码,而使用运行时 API 的 C++ 等效代码会更简单。这样做有什么好处吗?我可以看到的一个好处是更容易将智能错误处理与其他 C# 代码集成。

0 投票
4 回答
12328 浏览

c# - 有效获取数组子集

有没有一种有效的方法来获取 C# 数组的子集并将其传递给另一段代码(不修改原始数组)?我使用 CUDA.net,它具有将数组复制到 GPU 的功能。例如,我想将函数传递给数组的十分之一,从而将数组的每十分之一分别复制到 GPU(出于流水线目的)。

以这种方式复制数组应该与一次性复制它一样有效。可以使用不安全的代码并仅引用正确的内存位置来完成,但除此之外我不确定。CopyTo 函数将整个数组复制到另一个数组,因此这看起来没有用。

0 投票
3 回答
7566 浏览

cuda - 分配常量内存

我正在尝试将我的模拟参数设置在常量内存中,但没有运气(CUDA.NET)。cudaMemcpyToSymbol 函数返回 cudaErrorInvalidSymbol。cudaMemcpyToSymbol 中的第一个参数是字符串...是符号名称吗?实际上我不明白它是如何解决的。任何帮助表示赞赏。

我的 .cu 文件包含

工作解决方案

0 投票
1 回答
855 浏览

c# - CUDA 比较数组

尝试制作一个可以比较一对多位图的应用程序。有一个参考位图和多个其他位图。每次比较的结果应该是带有差异的新位图。也许比较位图而不是纹理而不是数组?我最大的问题是让内核接受多个输入指针,以及如何比较数据..

工作和跟随不(我用足够的参数调用函数)

0 投票
2 回答
1020 浏览

c# - CUDA.NET 中的上下文迁移

我目前正在使用 GASS 的 CUDA.NET 库。我需要在一个 CPU 线程中初始化 cuda 数组(实际上是 cublas 向量,但这并不重要)并在其他 CPU 线程中使用它们。但是包含所有初始化数组和加载函数的 CUDA 上下文只能附加到一个 CPU 线程。

有一种称为上下文迁移 API 的机制可以从一个线程中分离上下文并将其附加到另一个线程。但我不知道如何在 CUDA.NET 中正确使用它。

我试过这样的事情:

但是尝试将更改的向量复制到设备时执行失败,因为未附加上下文。其他原因不太可能,因为它在单线程模式下工作正常。有什么想法可以让它工作吗?

0 投票
2 回答
7680 浏览

cuda.net - CUDA.Net 的 Hello-world

我正在尝试使用 CUDA.Net 编写一个幼稚的应用程序,但我不走运。

我想通了:

myfunc显然应该是类型GASS.CUDA.Types.CUfunction,但我没有找到如何定义一个。

0 投票
2 回答
1020 浏览

excel-2007 - CUDA 会加速将大量数据从 Excel 工作表转移到数据库中吗?

我正在开发一个将大量数据从 Excel 表格移动到数据库的程序。像CUDA这样的东西有可能加快这个过程吗?我是否可以使用它一次打开多张纸并让不同的核心共享工作?

0 投票
1 回答
338 浏览

cuda - cuda.net 是基于 CUDA Runtime 还是 CUDA Driver?

我正在写一篇关于 CUDA 及其包装器的文章,现在我对 CUDA.NET 或 JCUDA 使用哪一层 CUDA 感到困惑。

正如这表明:(来源:tomshw.it
CUDA 层

我想正如我的程序所建议的那样,当我使用CUBLAS cublas = new CUBLAS(cuda);库或 CUDA 运行时库时。

我是对的,或者最好的定义是什么?
包装器是 CUDA.NET 或 brigde 或其他东西的最佳定义。

0 投票
2 回答
2278 浏览

cuda - OpenCl 相当于在 CUDA 中查找连续索引

在 CUDA 中,为了覆盖多个块,从而增加数组的索引范围,我们执行以下操作:

主机端代码:

设备端代码

OpenCL 中实现上述情况的等价物是什么?

0 投票
1 回答
295 浏览

exception - CUDA.NET 中的 GASS.CUDA.CUResult.ErrorInvalidImage 错误

我尝试在 Visual Stuio C# 中使用 CUDA.NET 开发表单应用程序。但是我需要创建 cubin 文件,这是我的问题:

我尝试使用 Visual Studio 创建 cubin 文件。我将项目中的设置更改Properties->Configuration Properties->Cuda Runtime API->GPU->NVCC Compilation Type"Generate 64 bit .cubin file (-m64 -cubin)" from "Generate hybrid object file (--compile / -c)".

但我得到了这个错误"fatal error LNK1181: cannot open input file '.\Debug\histogram256.cu.obj'"。它找不到我的某些 .cu 文件的对象。

所以我只将那些 .cu 文件的"NVCC Compilation Type"设置更改为(-m64 -cubin)并通过右键单击这些文件单独编译它们。但是它没有创建任何 .obj 或 .cubin 文件。

然后我尝试从命令行编译它。我复制了 .cu 文件中的Property Page->Cuda Runtime API->Command Line

" "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\bin\nvcc.exe" -gencode=arch=compute_20,code=\"sm_20,compute_20\" -gencode=arch=compute_20,code=\"sm_20,compute_20\" --machine 32 -ccbin "c:\Program Files\Microsoft Visual Studio 9.0\VC\bin" -Xcompiler "/EHsc /W3 /nologo /O2 /Zi /MT " -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\include" -maxrregcount=0 --compile -o "Debug/device.cubin" "device.cu""

device.cu 是我的 cuda 文件。

它创建了.cubin file,但我从 CUDA.NET 收到了这个错误:"GASS.CUDA.CUResult.ErrorInvalidImage."

你有什么建议吗?