问题标签 [cublas]

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 投票
1 回答
2947 浏览

cuda - 理解 Cublas:向量加法(asum)

根据CUBLAS 参考,asum 函数(用于获取向量元素的总和)是:

您可以在参考链接中看到参数说明,大致我们有一个元素向量x以及n元素incx之间的距离。

我的代码是(相当简化,但我也测试了这个,但仍然存在错误):

为了简化代码,我删除了错误检查(没有错误,CUBLAS 函数返回CUDA_STATUS_SUCCESS)和freeand cudaFree

它编译,它运行,它不会抛出任何错误,但打印的结果是0,并且,调试,它实际上是1.QNAN

我错过了什么?

0 投票
1 回答
870 浏览

cuda - 在 cuBLAS 中,如何从主机获取或设置矩阵元素?

嗨,我正在使用 cuBLAS 进行一些矩阵运算。

有时,我需要获取或设置单个矩阵元素。根据 cuBLAS 文档,矩阵分配如下:

现在,如果我只需要更改一个元素,我可以使用 cudaMemset 之类的东西吗?从主机代码执行此操作的正确方法是什么?每次只更改一个元素时,我都不想将整个数组从主机复制到设备。

0 投票
1 回答
6204 浏览

eclipse - 如何在 Eclipse Nsight 中链接到 cublas 库?

我正在使用 Nvidia 的 simpleCUBLAS 示例代码。该示例带有一个 Makefile,或者我可以像这样编译它:

g++ -m32 -I/usr/local/cuda/include -I. -o simpleCUBLAS.o -c simpleCUBLAS.cc g++ -m32 -o simpleCUBLAS simpleCUBLAS.o -L/usr/local/cuda/lib -l cudart -l cublas

(“-I.”包含的文件是 cuda_runtime.h helper_cuda.h helper_string.h)

这编译并运行得很好。但是,我想使用 Eclipse 的 CUDA 的 Nsight 编辑器来实现这一点。

我的问题是:如何将这些选项添加到 Eclipse(-L/usr/local/cuda/lib -l cudart -l cublas 和 -I.)Nsight?

其他细节:我正在使用 Linux。我在其他地方看到了 Eclipse 和 c/c++ 项目的一些信息,但这里我使用的是 cuda c/c++ 项目。

谢谢。

0 投票
1 回答
2062 浏览

cuda - cublas 无法同步停止事件?

我正在使用matrixMulCUBLAS示例代码,并尝试将默认矩阵大小更改为更有趣的行=5k x cols=2.5k,然后Failed to synchronize on the stop event (error code unknown error)!当所有计算完成时,示例失败并出现第 377 行的错误,它是显然清理cublas。这是什么意思?以及如何解决?

我已经安装了EVGA FTW nVidia GeForce GTX 670带有 2GB 内存的 cuda 5.0。驱动程序版本是今天最新的 314.22。

0 投票
1 回答
110 浏览

c - 输入矩阵也可以用于存储输出矩阵与 CUBLAS 吗?

例如,cublas<t>geam()将做:

C = αop(A) + βop(B)

但是如果我想存储结果A我可以用指针调用它,*C = *A以便:

A = αop(A) + βop(B)

不用担心我可能会将输出写入仍然作为输入读取的矩阵?

如果是这样,是否保证我们可以安全地使用所有其他 CUBLAS 矩阵运算?

0 投票
1 回答
377 浏览

cuda - 如何在 CUDA 中将矩阵复制到更大的矩阵中

我想在我的 GPU 上设置一个大矩阵来用 CULA 求解相应的方程组。

给你一些数字,以了解问题:

现在我想将(100x100)小矩阵的每个四分之一复制到第二个矩阵的特定部分。

我发现了两个可能但显然很慢的例子:cublasSetMatrixcublasGetMatrix支持前导维度的规范,因此我可以将零件放在我想要的位置,但必须将矩阵复制回主机。另一个示例是cudaMemcpy,它不支持前导维度。在这里,我可以手动复制每一行/列(目前我不确定这个例程使用什么,数据来自 Fortran)。但这样一来,我应该得到很大的开销......

有没有比编写自己的内核更好的方法来复制矩阵?

0 投票
3 回答
879 浏览

pointers - 为什么 CUBLAS 使用 const 指针作为参数?

例如,

这涉及到一些混淆点:

  • 达到什么const目的?
  • 为什么我们必须为标量参数提供指针?
  • 这有什么关系CUBLAS_POINTER_MODE_HOST
  • 我们是否需要显式创建临时const变量来传递它们,或者普通指针会这样做吗?

CUBLAS 图书馆

0 投票
2 回答
11985 浏览

c - Clarification of the leading dimension in CUBLAS when transposing

For a matrix A, the documentation only states that the corresponding leading dimension parameter lda refers to the:

leading dimension of two-dimensional array used to store the matrix A

Thus I presume this is just the number of rows of A given CUBLAS' column major storage format. However, when we consider Op(A), what does the leading dimension refer to now?

0 投票
1 回答
590 浏览

c++ - 如何在模板函数中使用 CUBLAS 库?

CUBLAS 对每种类型的数据都有一个单独的函数,但我想从模板中调用 CUBLAS,例如:

如何触发正确的函数调用?

0 投票
1 回答
1003 浏览

c++ - c++ 和 cublas 代码的混合没有编译

所以我有这段代码,它假设以不同的方式计算矩阵的点积(其中一种是在 c++ 中使用 blas),但是当我尝试使用 nvcc 编译代码时,它不起作用并且它说我对 ddot 有未定义的引用。这很奇怪,因为我很确定我正在使用此处为 cublas 引用的调用符号:http ://www.sdsc.edu/us/training/assets/docs/NVIDIA-03-Toolkit.pdf

谁能帮我?这是我遇到问题的代码片段:

这对我来说很奇怪。我也试过删除“_”但没有运气。

这是我使用的编译命令:nvcc program

我是否需要在编译过程中以某种方式提及 cublas 库?我安装了 cuda 工具包,但我不知道如何引用库,除了

#include <cublas.h>

新更新

事实证明,无论我是否包含 cublas.h 标头,我都会得到相同的输出

无论我是否输入 -lcublas,我都会得到相同的输出

这是输出,对于所有编译都是垃圾(带/不带 cublas.h 和带/不带 -lcublas)