저는 간단한 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을 선호합니다.)