从全新安装的 ubuntu 18.04 开始,哪个版本的 cuda-toolkit 允许我使用推力库?

从全新安装的 ubuntu 18.04 开始,哪个版本的 cuda-toolkit 允许我使用推力库?

我在 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 updatesudo 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

相关内容