Ubuntu 16.04 시스템에서 OpenCL을 실행할 수 없습니다.

Ubuntu 16.04 시스템에서 OpenCL을 실행할 수 없습니다.

저는 간단한 Intel Atom 기반 CPU와 AMD RX Vega 56 GPU를 사용하여 Intel 시스템을 설정했습니다.

GPU에 전체 로드를 생성하고 일부 OpenCL/C 프로그램을 시험해보고 싶습니다. (저도 해시캣을 사용하고 싶습니다.)

AMDGPU-Pro 드라이버는 이 버전과만 호환되기 때문에 Ubuntu 16.04 Server를 설치했습니다. 설치 지침을 따르고 ./amdgpu-pro-install -y -opencl=rom매개변수를 사용했습니다. 현재까지 설치는 성공적이었습니다. 또한 ocl-icd-dev, clinfo, opencl-headers 패키지 및 mesa-ocl- 또는 유사한 패키지를 설치했습니다.

작동하는지 확인하기 위해 "clinfo" 명령을 사용해 보았습니다. 다음 출력을 제공합니다.

    root@atomium:/home/chairman/opencl-experiments/tools-master# clinfo
Number of platforms                               1
  Platform Name                                   AMD Accelerated Parallel Processing
  Platform Vendor                                 Advanced Micro Devices, Inc.
  Platform Version                                OpenCL 2.0 AMD-APP (2117.10)
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd cl_amd_event_callback cl_amd_offline_devices 
  Platform Extensions function suffix             AMD

  Platform Name                                   AMD Accelerated Parallel Processing
Number of devices                                 0

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  No platform
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   No platform
  clCreateContext(NULL, ...) [default]            No platform
  clCreateContext(NULL, ...) [other]              <error: no devices in non-default plaforms>
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  No platform

그래서 다른 방법으로 확인하기 위해 이 저장소에서 일부 OpenCL 예제를 복제했습니다.

https://github.com/rsnemmen/OpenCL-examples

바로 컴파일할 수 있지만 실행하면 다음 오류가 발생합니다.

    root@atomium:/home/chairman/opencl-experiments/tools-master# ./print-devices
platform 0: vendor 'Advanced Micro Devices, Inc.'
*** 'clGetDeviceIDs' in 'cl-helper.c' on line 134 failed with error 'device not found'.
Aborted (core dumped)

나는 일부 사람들이 hashcat을 사용하여 비슷한 문제를 겪고 있지만 단순화된 보편적인 솔루션을 찾지 못했다는 것을 발견했습니다.

어쩌면 누군가가 이 문제를 해결하기 위해 진행하는 방법에 대한 몇 가지 단계를 지적할 수 있습니다. (저는 OpenCL을 선호합니다.)

관련 정보