是否可以在安装了 ubuntu 的虚拟机中开发 cuda 程序

is it possible to develop a cuda program in a virtual machine that has a ubuntu installed

我看到 video 一个人在一个虚拟盒子里编译了他的一个 cuda 程序。谁能告诉我该怎么做?

请转到那个视频中的 01:09:00 看他在 virgualbox 中编译程序。

PS: 我的工作站上安装了 gtx 970 卡和其他显卡,但我不想在上面安装真正的 Ubuntu,我只想使用 VM 来测试 cuda 世界。

是的,有可能。

视频中的演示者使用的是 Amazon EC2 云 GPU 实例。

一般来说,许多类型的 VM(虚拟机)产品都可以托管 linux OS,可以在其上加载 CUDA 工具包并以这种方式编译代码。

但是,编译 代码和运行宁 CUDA 代码是有区别的。 运行 CUDA 代码通常需要 CUDA GPU present/available。这可以使用某些类型的 VMs/hypervisors 来完成,但并非每个 VM 管理程序都支持将物理 GPU 设备放入 VM 的能力(目前需要这样做才能 运行 VM 中的 CUDA 代码)。

一般来说,要在适合 CUDA 使用的 VM 中提供 GPU(当前),VM/hypervisor 有必要支持某种 PCI Passthrough能力。

提供完整的分步教程将取决于特定管理程序的选择,超出了我可以在此处提供的答案范围。

在 VirtualBox VM 运行 Ubuntu 18.04 中,我使用以下内容安装了 NVIDIA CUDA 编译器和开发头文件:

sudo apt-get install nvidia-cuda-toolkit nvidia-cuda-dev libcupti-dev

这给了我:

> 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