LINUX.ORG.RU

Не работает Intel GPU OpenCL Driver

 , , , ,


2

3

Есть вот такая видеокарта

00:02.0 VGA compatible controller: Intel Corporation Iris Pro Graphics 6200 (rev 0a) 

Пробую ставить вот этот драйвер (блоб?) https://software.intel.com/en-us/articles/opencl-drivers#latest_linux_driver из аура https://aur.archlinux.org/packages/intel-opencl/

clinfo выдает

Number of platforms                               0
Даже под рутом. И соответственно ни одно приложение не работает. В последний раз я этот драйвер тыкал еще во времена ivy bridge на Intel HD 4000 кажется и тогда это все прекрасно работало и даже показывало какие-то результаты.

Ладно, узнаю что существует открытый OpenCL драйвер под названием beignet. Есть в репах арча и даже определяется и работает. Но как выяснилось почти ни на что не годен:

  • hashcat пишет
    * Device #1: Intel's OpenCL runtime (GPU only) is currently broken.
                 We are waiting for updated OpenCL drivers from Intel.
                 You can use --force to override, but do not report related errors.
    No devices found/left.
  • sgminer видит устройство и даже успешно компилит бинари под некоторые алгоритмы, но работают из них только самые простейшие типа sha3, при этом производительность ниже плинтуса.
  • luxmark тоже нормально определяет и даже что-то считает, но в итоге выдает Image validation: Failed

Ни о каком практическом применении я пока не говорю, просто пытаюсь понять на что эти видеокарты способны и насколько их архитектура оптимизирована для GPGPU. Для сравнения в OpenGL такая интегряха тягается с дискретками уровня всяких нвидий 650, амд 7750 и т.п. Т.е. производительность по меркам интегрях огромная.

Очевидно что их потенциал может раскрыть только фирменный драйвер, вот и хочу его заставить работать.

★★★★

Ответ на: комментарий от ox55ff

Я не прогер, но то что эти приложения не работают, говорит о том, что большая часть функционала не реализована в должной мере. Примерно та же ситуация с mesa-opencl - только самые элементарные вещи на ней кое-как работают и все.

Для сравнения тот же блоб нвидии. На нем работает почти все, кроме того, где все явно захардкожено на амд. И это при том, что никто в здравом уме opencl на нвидии не использует.

Т.е. оказывается можно просто взять и реализовать полноценную поддержку стандарта, даже если это никому не нужно. Но открытые драйвера видимо пока существуют только для галочки.

Radius ★★★★ ()
Ответ на: комментарий от asavonic

lscpu

Архитектура:         x86_64
CPU op-mode(s):      32-bit, 64-bit
Порядок байт:        Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Ядер на сокет:       4
Сокетов:             1
NUMA node(s):        1
ID прроизводителя:   GenuineIntel
Семейство ЦПУ:       6
Модель:              71
Имя модели:          Intel(R) Core(TM) i5-5675C CPU @ 3.10GHz
Степпинг:            1
CPU MHz:             1060.809
CPU max MHz:         3600,0000
CPU min MHz:         800,0000
BogoMIPS:            6198.46
Виртуализация:       VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            4096K
L4 cache:            131072K
NUMA node0 CPU(s):   0-3
Флаги:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx smap intel_pt xsaveopt ibpb ibrs stibp dtherm ida arat pln pts

ls -R /etc/OpenCL

/etc/OpenCL:
vendors

/etc/OpenCL/vendors:
intel-beignet.icd  intel-gpu.icd  nvidia.icd

strace -vf clinfo | grep -i opencl

https://pastebin.com/hhRvNCHf beignet перед этим снес

grep почему-то не работает, поэтому через обычный поиск нашел что касается интела

openat(AT_FDCWD, "/etc/OpenCL/vendors/intel-gpu.icd", O_RDONLY) = 4
read(4, "/opt/intel/opencl/libIntelOpenCL"..., 36) = 36
openat(AT_FDCWD, "/opt/intel/opencl/libIntelOpenCL.so", O_RDONLY|O_CLOEXEC) = 4

Что конкретно не так, определить затрудняюсь. Все примерно также, как и на нвидии, которая в данный момент отсутствует.

Radius ★★★★ ()

собрал ядро 4.7 с патчем, удалил beignet и прочую лабуду, запустил

LD_LIBRARY_PATH=/opt/intel/opencl/ /usr/bin/ethminer --display-interval 60 -G --opencl-platform 1 -SP 1 -S eth-ru.dwarfpool.com:8008 -O 0x5E603f8c6Bbb3c65f02415E6E71Cf7219A12c4C7.lor
прироста в Mh/s по сравнению с beignet не ощутил
LD_LIBRARY_PATH=/opt/intel/opencl/ ethminer --list-devices |grep Intel
[1] [0] Intel(R) HD Graphics
diff clinfo

Deleted ()
Ответ на: комментарий от Deleted

Хм, спасибо за инфу. Как-то я упустил момент, что ему ядро патченное нужно.

а кефирный майнер тоже пробовал, но он у меня не завелся

Address bits                                    32, Little-Endian
Global memory size                              4294967296 (4GiB)
Error Correction support                        No
Max memory allocation                           2147483648 (2GiB)

И вот здесь я не понял юмора, откуда взялось 2 гб

Radius ★★★★ ()
Ответ на: комментарий от Radius

Почему фанатик? Потому что хочу, чтобы оно просто работало и приносило результат?
Очевидно что их потенциал может раскрыть только фирменный драйвер, вот и хочу его заставить работать.

ОКЭЙ

targitaj ★★★★★ ()
Ответ на: комментарий от targitaj

Очевидно что их потенциал может раскрыть только фирменный драйвер, вот и хочу его заставить работать.

Если я допишу, что в данном конкретном случае, то ты отстанешь и пойдешь уже в ваши профильные ветки «нвидия vs амд»? или где вы там сретесь обычно

Т.е. в данный момент мне кажется, что beignet говно, потому что нифига не работает. Если вдруг выяснится, что с драйвером интел ситуация точно такая же, тогда просто придется признать что сам интел говно. Хотя это будет странно, ведь в районе 2013 годов это все работало с пол пинка.

Radius ★★★★ ()
Ответ на: комментарий от Deleted

Сам интел пишет, что макс гпу мем = систем мем / 2

Короче динамическая память. А то что в биосе вроде как не влияет. Но вопрос происхождения 2 гб все равно остается открытым.

У тебя работает с другим ядром видимо потому, что когда ты запускал с патченным у тебя сгенерился правильный бинарь и теперь он его использует, до тех пор пока не удалишь или не сменишь настройки.

Я у себя проверил с LD_LIBRARY_PATH=/opt/intel/opencl/ и clinfo сегфолтится и майнеры. Так что патчить ядро все-таки надо.

Radius ★★★★ ()
Ответ на: комментарий от Deleted

Серьёзно? ethminer работает на Intel OpenCL?! А xmr-stak не работает!

А как ты смог это сделать, если в настоящий момент требуется 3 ГБ VRAM? В момент, когда ты это написал, требовалось меньше. На «интеграшках» же всегда мало видеопамяти?

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

я же выше писал, что на современных интегряшках интел: макс гпу мем = систем мем / 2

Для примера если у тебя 64 гб оперативки, то гпу доступно 32 гб.

Другой вопрос почему для opencl с beignet доступно всего 2 гб, а с фирменным драйвером и патченным ядром аккурат 3 гб, как раз необходимых для майнинга кефира.

Radius ★★★★ ()
Ответ на: комментарий от Deleted
draga-msi /usr/local/portage/net-p2p/ethminer # systemctl status ethminer-intel
● ethminer-intel.service - ethminer-intel
   Loaded: loaded (/etc/systemd/system/ethminer-intel.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2018-10-19 18:03:54 MSK; 6min ago
 Main PID: 27810 (ethminer)
    Tasks: 6 (limit: 4915)
   Memory: 2.8G
   CGroup: /system.slice/ethminer-intel.service
           └─27810 /usr/local/ethminer-intel/usr/bin/ethminer -G --opencl-platform 1 -R -P stratum1+tcp://0x5E603f8c6Bbb3c65f02415E6E71Cf7219A12c4C7.intel@eth-ru.dwarfpool.com:8008

окт 19 18:10:17 draga-msi ethminer[27810]:  i 18:10:17 stratum  Job: #87b69b8b… eth-ru.dwarfpool.com [91.134.50.158:8008]
окт 19 18:10:18 draga-msi ethminer[27810]:  i 18:10:18 stratum  Job: #7530de29… eth-ru.dwarfpool.com [91.134.50.158:8008]
окт 19 18:10:19 draga-msi ethminer[27810]:  m 18:10:19 ethminer Speed   1.20 Mh/s    gpu/0  1.20  [A0+0:R0+0:F0] Time: 00:06
окт 19 18:10:21 draga-msi ethminer[27810]:  i 18:10:21 stratum  Job: #bb5634be… eth-ru.dwarfpool.com [91.134.50.158:8008]
окт 19 18:10:22 draga-msi ethminer[27810]:  i 18:10:22 stratum  Job: #b921424d… eth-ru.dwarfpool.com [91.134.50.158:8008]
окт 19 18:10:24 draga-msi ethminer[27810]:  m 18:10:24 ethminer Speed   1.21 Mh/s    gpu/0  1.21  [A0+0:R0+0:F0] Time: 00:06
окт 19 18:10:26 draga-msi ethminer[27810]:  i 18:10:26 stratum  Job: #9cedd8d0… eth-ru.dwarfpool.com [91.134.50.158:8008]
окт 19 18:10:26 draga-msi ethminer[27810]:  i 18:10:26 stratum  Job: #29960536… eth-ru.dwarfpool.com [91.134.50.158:8008]
окт 19 18:10:27 draga-msi ethminer[27810]:  i 18:10:27 stratum  Job: #98def39f… eth-ru.dwarfpool.com [91.134.50.158:8008]
окт 19 18:10:27 draga-msi ethminer[27810]:  i 18:10:27 stratum  Job: #7afeb3d2… eth-ru.dwarfpool.com [91.134.50.158:8008]
Deleted ()
Ответ на: комментарий от Deleted
cat /proc/27810/status
Name:	ethminer
Umask:	0022
State:	S (sleeping)
Tgid:	27810
Ngid:	0
Pid:	27810
PPid:	1
TracerPid:	0
Uid:	999	999	999	999
Gid:	989	989	989	989
FDSize:	512
Groups:	27 989 
NStgid:	27810
NSpid:	27810
NSpgid:	27810
NSsid:	27810
VmPeak:	33364476 kB
VmSize:	33299036 kB
VmLck:	       0 kB
VmPin:	       0 kB
VmHWM:	 3046144 kB
VmRSS:	 3046144 kB
RssAnon:	 2966236 kB
RssFile:	   79908 kB
RssShmem:	       0 kB
VmData:	 3024696 kB
VmStk:	     132 kB
VmExe:	    5196 kB
VmLib:	  176616 kB
VmPTE:	    6456 kB
VmPMD:	      28 kB
VmSwap:	       0 kB
HugetlbPages:	       0 kB
Threads:	6
SigQ:	0/59235
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	0000000000001000
SigCgt:	0000000180004002
CapInh:	0000000000000000
CapPrm:	0000000000000000
CapEff:	0000000000000000
CapBnd:	0000003fffffffff
CapAmb:	0000000000000000
NoNewPrivs:	0
Seccomp:	0
Speculation_Store_Bypass:	thread vulnerable
Cpus_allowed:	f
Cpus_allowed_list:	0-3
Mems_allowed:	00000000,00000001
Mems_allowed_list:	0
voluntary_ctxt_switches:	66
nonvoluntary_ctxt_switches:	7
Deleted ()