TensorFlow找不到集成的GPU

时间:2018-08-10 15:02:35

标签: ubuntu tensorflow opencl gpu

我正在尝试在具有集成和独立显卡的计算机上的集成Intel GPU上运行TensorFlow。

user@host:~$ lscpu | grep "Model name"
Model name:          Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz

当我运行TensorFlow的脚本来检查设备列表时

from tensorflow.python.client import device_lib

def get_available_gpus():
    local_device_protos = device_lib.list_local_devices()
    return [x.name for x in local_device_protos]
    print(get_available_gpus())

我正在关注结果

18:30:21.335442: E tensorflow/stream_executor/cuda/cuda_driver.cc:397] failed call to cuInit: CUDA_ERROR_UNKNOWN
18:30:21.335465: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:145] kernel driver does not appear to be running on this host (host): /proc/driver/nvidia/version does not exist
['/device:CPU:0', '/device:XLA_CPU:0', '/device:XLA_GPU:0'] 

我想这可能与OpenCL的某些问题有关,因为当我运行clinfo时我会得到

user@host:~$ clinfo
Number of platforms                               0
user@host:~$ ls /etc/OpenCL/vendors/
intel.icd  nvidia.icd

另一件事是,当我运行一些示例测试应用程序时,我在网上找到了

#include "CL/cl.h"
#include <stdio.h>

int main()
{
    cl_platform_id pid;
    cl_uint num;
    cl_uint n=1;
    cl_int error=clGetPlatformIDs(1,&pid,&num);
    printf("Error code= %d\nNo. of platforms= %d",error,num);
    getchar();
}

我正在获取错误代码--1001和0平台。我发现这可能意味着我需要安装驱动程序,但是据我了解,/etc/OpenCL/vendors/我已经安装了它们。

在我拥有的PRIME个人资料中

user@host:~$ sudo prime-select query
[sudo] password for user:
intel

切换到nvidia clinfo以及TensorFlow都可以正常工作。

我正在运行Ubuntu 18.04 LTS

user@host:~$ uname -a
Linux host 4.15.0-30-generic #32-Ubuntu SMP Thu Jul 26 17:42:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

我认为可能对调试有用的其他信息是,我正在远程操作这台计算机,而没有直接连接任何显示器。

我真的很感谢任何建议,可以解决TensorFlow和clinfo问题。

0 个答案:

没有答案