我在 nvidia 文档中看到,thrust 已包含在 cuda-toolkit 中一段时间,但它不再起作用了。我正在寻找允许我在安装 cuda 后运行以下示例的说明。我将安装任何版本的 cuda 以及我需要安装的任何其他库以使 push 正常工作。将以下代码保存到文件“version.cu”
#include <thrust/version.h>
#include <iostream>
int main(void)
{
int major = THRUST_MAJOR_VERSION;
int minor = THRUST_MINOR_VERSION;
std::cout << "Thrust v" << major << "." << minor << std::endl;
return 0;
}
如果有帮助的话,代码来自以下网站:https://github.com/thrust/thrust/wiki/Quick-Start-Guide
编辑:添加信息@d4rk4ng31 lsb_release -a 没有可用的 LSB 模块。 分销商 ID:Ubuntu 描述:Ubuntu 18.04.4 LTS 发行版:18.04 代号:bionic
编辑:在获得@d4rk4ng31 的帮助后,我现在可以使用推力库了。我遇到这么多问题的原因是因为 cuda 10.2,并且不了解如何正确删除 cuda 10.2。修复我的问题的第一步是删除 cuda 10.2。这是使用反复试验的方法完成的,尝试删除 cuda 10.2 的所有依赖项。以下是一些代码,展示了如何删除 cuda 10.2 或任何其他版本的 cuda
首先删除 cuda 本身:sudo dpkg -r cuda-10-2(正在读取数据库......当前安装了 196295 个文件和目录。)删除 cuda-10-2(10.2.89-1)......
现在调用 autoremove 并查找具有未满足依赖关系的包。这里的示例是“cuda-visual-tools-10-2”、“cuda-samples-10-2”、“cuda-visual-tools-10-2”。您需要删除所有三个,但可能还有更多。
sudo apt autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
cuda-libraries-dev-10-2 : Depends: libcublas-dev (>= 10.2.2.89) but it is not installed
cuda-samples-10-2 : Depends: libcublas-dev (>= 10.2.2.89) but it is not installed
cuda-visual-tools-10-2 : Depends: libcublas-dev (>= 10.2.2.89) but it is not installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
例如,让我们尝试删除“cuda-samples-10-2”
sudo dpkg -r cuda-samples-10-2
dpkg: dependency problems prevent removal of cuda-samples-10-2:
cuda-documentation-10-2 depends on cuda-samples-10-2.
dpkg: error processing package cuda-samples-10-2 (--remove):
dependency problems - not removing
Errors were encountered while processing:
cuda-samples-10-2
看起来“cuda-documentation-10-2”需要“cuda-samples-10-2”,所以我们需要先删除“cuda-documentation-10-2”。
sudo dpkg -r cuda-documentation-10-2
(Reading database ... 196286 files and directories currently installed.)
Removing cuda-documentation-10-2 (10.2.89-1) ...
它起作用了,所以我们现在可再次尝试“cuda-samples-10-2”
sudo dpkg -r cuda-samples-10-2
(Reading database ... 190931 files and directories currently installed.)
Removing cuda-samples-10-2 (10.2.89-1) ...
继续,sudo apt autoremove
再打电话。对我来说,它说我仍然需要删除cuda-visual-tools-10-2
。使用上面的过程sudo dkpg -r
,con
继续删除包直到sudo apt autoremove
实际完成并且没有错误。
这是您应该看到的一个示例。
sudo apt autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.
这时我继续跑sudo apt update
,sudo apt upgrade
但我真的不知道是否有必要。
现在,为了完成 cuda 的新安装,我按照 @N0rbert 的另一个问题中的说明进行操作如何在 Ubuntu 18.04 上安装 CUDA?。
为了方便起见,我将在这里重新发布 N0rbert 关于安装推力的回答。
在终端中输入:
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo ubuntu-drivers autoinstall
重启
sudo apt install nvidia-cuda-toolkit gcc-6 nvcc --version
‘nvcc --version’ 应该显示以下内容
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85
现在创建本文开头的 push 文件进行尝试。我将把这个示例代码文件命名为“version.cu”。为方便起见,这里是 push repo 的链接:https://github.com/thrust/thrust/wiki/Quick-Start-Guide
在终端类型中:
nvcc version.cu -o version
现在输入
./version
并且根据您的推力版本,您应该会看到以下类似内容:
Thrust v1.9