标签: cublas

ValueError:在系统路径中找不到 libcublas.so.*[0-9]

我正在尝试在我的 Django Rest 框架项目中导入和使用 ultralytics 库,我使用诗歌作为我的依赖项管理器,我使用安装了 ultralytics,poetry add ultralytics并在尝试在我的代码中导入该库时收到此错误

ValueError: libcublas.so.*[0-9] not found in the system path [my project and virtual environment paths]
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

django django-rest-framework cublas

28
推荐指数
2
解决办法
1万
查看次数

在转置时澄清CUBLAS中的主要维度

对于矩阵A,文档仅声明相应的前导维度参数lda引用:

用于存储矩阵A的二维阵列的前导维度

因此,我认为这只是A给定CUBLAS列主要存储格式的行数.但是,当我们考虑时Op(A),领导维度现在指的是什么?

c cuda gpgpu matrix cublas

19
推荐指数
2
解决办法
7961
查看次数

Tensorflow与CUBLAS_STATUS_ALLOC_FAILED崩溃

我正在使用一个简单的MINST神经网络程序在Windows 10上运行tensorflow-gpu.当它试图运行时,它遇到CUBLAS_STATUS_ALLOC_FAILED错误.谷歌搜索没有发现任何东西.

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:885] Found device 0 with properties:
name: GeForce GTX 970
major: 5 minor: 2 memoryClockRate (GHz) 1.253
pciBusID 0000:0f:00.0
Total memory: 4.00GiB
Free memory: 3.31GiB
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:906] DMA: 0
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:916] 0:   Y
I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 970, pci bus id: 0000:0f:00.0)
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_blas.cc:372] failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
W c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\stream.cc:1390] attempting to perform BLAS operation using StreamExecutor without BLAS support
Traceback (most recent call last): …
Run Code Online (Sandbox Code Playgroud)

cublas tensorflow

17
推荐指数
4
解决办法
1万
查看次数

cuBLAS(numba)中的非平方C阶矩阵

我正试图在Anaconda的Numba软件包中使用cuBLAS功能并遇到问题.我需要输入矩阵为C顺序.输出可以是Fortran顺序.

我可以在这里运行随包提供的示例脚本.该脚本有两个功能,gemm_v1gemm_v2.在gemm_v1,用户必须以Fortran顺序创建输入矩阵.在gemm_v2,它们可以传递给GEMM的cuda实现并转换到设备上.我可以使用这些示例来处理方形矩阵.但是,我无法弄清楚如何gemm_v2使用非方形输入矩阵.有没有办法使用非正方形的C阶输入矩阵?

注意:
理想情况下,在调用GEMM以用于其他计算之后,输入和输出矩阵都将保留在设备上(这是迭代方法的一部分).

python cublas anaconda numba

17
推荐指数
1
解决办法
258
查看次数

CUDA内核可以调用cublas函数吗?

我知道这听起来很奇怪,但这是我的情景:

我需要进行矩阵 - 矩阵乘法(A(n*k)*B(k*n)),但我只需要对输出矩阵求对角元素.我搜索了cublas库,并没有找到任何能够做到这一点的2级或3级功能.所以,我决定将A的每一行和B的每一列分配到CUDA线程中.对于每个线程(idx),我需要计算点积"A [idx,:]*B [:,idx]"并将其保存为相应的对角线输出.现在因为这个点产品也需要一些时间,我想知道我是否可以在某种程度上调用cublas函数(比如cublasSdot)来实现它.

如果我错过了一些可以直接实现我的目标的cublas函数(只计算矩阵 - 矩阵乘法的对角元素),这个问题可能会被丢弃.

cuda gpu cublas

16
推荐指数
1
解决办法
5771
查看次数

CUDA中的矩阵向​​量乘法:基准测试和性能

我正在用一些新的基准测试结果更新我的问题(我还重新提出了更具体的问题并更新了代码)...

我使用共享内存遵循CUDA C编程指南,在CUDA C中实现了用于矩阵向量乘法的内核.让我首先介绍一些我在Jetson TK1(GPU:Tegra K1,计算能力3.2)上做的基准测试结果以及与cuBLAS的比较:

IMG 0

IMG 1

在这里,我猜cuBLAS做了一些魔术,因为它的执行似乎不受列数的影响A,这反过来暗示了沿着列的某种并行化A.

现在,这是我的内核的源代码和一个调用它的主机函数(文件:mv.cuh):

#include <cuda_runtime.h>

#define     BLOCK_SIZE      16

/* Set to __restric__ */
#define     RESTRICT

/**
 * Performs matrix-vector multiplication on the device.
 *
 * @param   dA              Address of matrix `A` on the device
 * @param   dx              Address of vector `x` on the device
 * @param   dev_ptr_y       Address of result y = A*x
 * @param   nRows           Number of rows of `A`
 * @param   nx              Size of `x` (number of …
Run Code Online (Sandbox Code Playgroud)

cuda gpu gpgpu nvidia cublas

12
推荐指数
1
解决办法
6787
查看次数

简单的CUBLAS矩阵乘法示例?

我正在为CUBLAS寻找一个非常简单的骨骼矩阵乘法示例,它可以将M乘以N并将结果放在P中,用于以下代码,使用高性能GPU操作:

float M[500][500], N[500][500], P[500][500];
for(int i = 0; i < Width; i++){
    for(int j = 0; j < Width; j++)
    {
        M[i][j] = 500;
        N[i][j] = 500;
        P[i][j] = 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我发现使用CUBLAS进行任何类型的矩阵乘法的大多数代码(看似?)过于复杂.

我正在尝试设计一个基础实验室,学生可以在其中比较GPU上的矩阵乘法与CPU上的矩阵乘法的性能,可能是GPU上的性能提升.

cuda gpu matrix-multiplication cublas

10
推荐指数
2
解决办法
2万
查看次数

如何使用blas以最佳方式转置矩阵?

我正在做一些计算,并对不同BLAS实现的力量和弱点进行一些分析.但是我遇到了一个问题.

我正在测试cuBlas,在GPU上做linAlg似乎是个好主意,但是有一个问题.

使用列主格式的cuBlas实现,因为这不是我最终需要的,我很好奇是否有一种方法可以让BLAS做矩阵转置?

c cuda blas cublas

10
推荐指数
1
解决办法
8653
查看次数

异步cuBLAS调用

我想异步调用cuBLAS例程.可能吗?如果是,我该如何实现?

asynchronous cuda cublas

10
推荐指数
1
解决办法
1428
查看次数

cublasSgemm 行优先乘法

我正在尝试使用 cublasSgemm 来乘以两个以行主序存储的非方阵。我知道这个函数有一个参数,您可以在其中指定是否要转置矩阵(CUBLAS_OP_T),但结果以列优先顺序存储,我也需要以行优先顺序存储。

另外,我的代码无法将非方阵与参数 CUBLAS_OP_T 相乘。仅具有 CUBLAS_OP_N 的方形或非方形。

此外,我知道可以选择按列顺序声明矩阵

define IDX2C(i,j,ld) (((j)*(ld))+(i)) 
Run Code Online (Sandbox Code Playgroud)

但这不是一个选项,因为我必须使用的矩阵将在其他程序中设置。

我想互联网上有很多信息,但我无法找到我的问题的任何答案。

我的代码如下:


    int m = 2;
    int k = 3;
    int n = 4;
    int print = 1;
    cudaError_t cudaStat; // cudaMalloc status
    cublasStatus_t stat; // CUBLAS functions status
    cublasHandle_t handle; // CUBLAS context

    int i,j;

    float *a, *b,*c;

    //malloc for a,b,c...

    // define a mxk matrix a row by row
    int ind =11;                               
    for(j=0;j<m*k;j++){                     
        a[j]=(float)ind++;                                    
    }                                        

    // define a kxn matrix b column by column
    ind …
Run Code Online (Sandbox Code Playgroud)

cuda matrix cublas

8
推荐指数
1
解决办法
4740
查看次数