8

Is it possible to run armadillos calculations using GPU? Is there any way to use the GPU blas libraries (for example cuBLAS) with armadillo? Just a note, I am totally new to GPU programming.

4

3 回答 3

22

当前接受的答案已过时。与 CUDA 6(目前为候选发布状态)一起,有一个名为 NVBLAS 的真正插入式替代品,它负责 GPU 交互并与犰狳结合使用。您可以通过将程序再次链接到 libnvblas.so 来使用 NVBLAS

但是,并非所有 BLAS 方法都可用,因此您必须指定一个备用 BLAS 库(如 openblas)。

有关更多详细信息,请参阅https://developer.nvidia.com/cublasxt

于 2014-03-28T11:12:29.753 回答
0

不它不是。

您不能为cpu获取代码并假设它在gpu上运行,因为两者都有完全不同的内存模型、硬件、编程风格等。

于 2013-08-01T01:29:40.527 回答
0

我终于在 Ubuntu 20.04 上找到了一种使用 Cmake 和 CUDA 的快速方法。

安装 CUDA

根据官方指南,这似乎非常困难,但在 Ubuntu 20 上使用apt效果很好。

sudo apt install nvidia-cuda-toolkit

在此之后,不要忘记NVBLAS_CONFIG_FILE根据文档设置环境变量。除了更改 CPU BLAS 库外,网站上的默认内容都可以。对我来说,libopenblas.a不起作用,应该设置为libopenblas.so.0.

使用 Cmake 编译犰狳

手动安装对我来说似乎很复杂,所以我只是对cmake安装方法进行了一些调整。

cmake . -Dopenblas_LIBRARY=<PATH TO NVBLAS LIB>/libnvblas.so

使用犰狳编写代码

cmake项目没有什么不同,不需要额外的编译标志,因为它们都是在编译 Armadillo 库时设置的。

如果出现任何问题,日志文件(默认情况下nvblas.log)将提供一些信息。可能是它无法打开 CPU BLAS 库。

于 2022-01-26T08:56:17.017 回答