我有一个全新的 Ubuntu 16.10 安装。我想针对 NVIDIA 版本的 OpenCL 进行测试(我需要跨设备的可移植性)。所以,我通过以下方式安装了 CUDA 工具包
sudo apt-get install nvidia-cuda-toolkit clinfo
Run Code Online (Sandbox Code Playgroud)
但是,当我运行时,clinfo我得到的是:
Number of platforms: 0
Run Code Online (Sandbox Code Playgroud)
我也试图找到libOpenCL.so共享对象,但我无法在任何地方找到它。任何见解?
编辑
的输出 sudo lshw -C display
*-display
description: VGA compatible controller
product: VirtualBox Graphics Adapter
vendor: InnoTek Systemberatung GmbH
physical id: 2
bus info: pci@0000:00:02.0
version: 00
width: 32 bits
clock: 33MHz
capabilities: vga_controller bus_master rom
configuration: driver=vboxvideo latency=0
resources: irq:18 memory:e0000000-e0ffffff memory:c0000-dffff
Run Code Online (Sandbox Code Playgroud)
您会注意到这是一个虚拟机。这是我在旧操作系统(例如 14.04)上对所有内容进行原型设计并且之前使用 CUDA 完成的工作的地方。
假设我当前的工作目录中有三个目录。每一个都指的是库/包的不同版本。我只想返回最高版本的目录。例如:
program program-1.0 program-2.0
Run Code Online (Sandbox Code Playgroud)
我能做的最好的事情就是使用命令find。
find . -maxdepth 1 -type d -name "program*" -print
Run Code Online (Sandbox Code Playgroud)
但这提供了所有三个目录。我想要目录的完整路径program2。