Jenot
Gość
Miernik podziękowań 0%
0 Daj znać jaka wersja amdgpu po tej operacji będzie u Ciebie. Bo może przez ten błąd w numerze wersji Ubuntu korzystam dalej z modułu jądra OpenSource, a tylko OpenCL/Vulkan jest od AMD. Chyba muszę zgłębić temat
Liczba postów: 4 233
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
10-04-2019, 12:33
(Ten post był ostatnio modyfikowany: 10-04-2019, 18:12 przez dedito.)
0 Jak chcesz sprawdzić z czego rzeczywiście korzystasz to chyba najlepiej będzie sprawdzić wyniki poleceń:
Kod: dpkg -l | grep amdgpu
Kod: modinfo amdgpu | grep version
Kod: dmesg | grep -i amdgpu
Kod: glxinfo | grep -i OpenGL
Jenot
Gość
Miernik podziękowań 0%
0 Sztuka nie udała się na Mincie, ale na Ubuntu 18.04, które ma teraz kernel 4.18 (niewspółpracujący z AMDGPU-PRO, przynajmniej w teorii), udało mi się wydłubać biblioteki OpenCL z debów AMDGPU-PRO 18.50. clinfo pokazuje:
Kod: root@ubu-jenot:~/Pobrane/opencllib# clinfo
Number of platforms: 1
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 2.1 AMD-APP (2766.4)
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
Platform Name: AMD Accelerated Parallel Processing
Number of devices: 1
Device Type: CL_DEVICE_TYPE_GPU
Vendor ID: 1002h
Board name: Radeon RX Vega
Device Topology: PCI[ B#40, D#0, F#0 ]
Max compute units: 64
Max work items dimensions: 3
Max work items[0]: 1024
Max work items[1]: 1024
Max work items[2]: 1024
Max work group size: 256
Preferred vector width char: 4
Preferred vector width short: 2
Preferred vector width int: 1
Preferred vector width long: 1
Preferred vector width float: 1
Preferred vector width double: 1
Native vector width char: 4
Native vector width short: 2
Native vector width int: 1
Native vector width long: 1
Native vector width float: 1
Native vector width double: 1
Max clock frequency: 1630Mhz
Address bits: 64
Max memory allocation: 4244635648
Image support: Yes
Max number of images read arguments: 128
Max number of images write arguments: 64
Max image 2D width: 16384
Max image 2D height: 16384
Max image 3D width: 2048
Max image 3D height: 2048
Max image 3D depth: 2048
Max samplers within kernel: 16
Max size of kernel argument: 1024
Alignment (bits) of base address: 2048
Minimum alignment (bytes) for any datatype: 128
Single precision floating point capability
Denorms: No
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: Yes
Round to +ve and infinity: Yes
IEEE754-2008 fused multiply-add: Yes
Cache type: Read/Write
Cache line size: 64
Cache size: 16384
Global memory size: 8573157376
Constant buffer size: 4244635648
Max number of constant args: 8
Local memory type: Scratchpad
Local memory size: 65536
Max pipe arguments: 16
Max pipe active reservations: 16
Max pipe packet size: 4244635648
Max global variable size: 3820172032
Max global variable preferred total size: 8573157376
Max read/write image args: 64
Max on device events: 1024
Queue on device max size: 8388608
Max on device queues: 1
Queue on device preferred size: 262144
SVM capabilities:
Coarse grain buffer: Yes
Fine grain buffer: Yes
Fine grain system: No
Atomics: No
Preferred platform atomic alignment: 0
Preferred global atomic alignment: 0
Preferred local atomic alignment: 0
Kernel Preferred work group size multiple: 64
Error correction support: 0
Unified memory for Host and Device: 0
Profiling timer resolution: 1
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: No
Queue on Host properties:
Out-of-Order: No
Profiling : Yes
Queue on Device properties:
Out-of-Order: Yes
Profiling : Yes
Platform ID: 0x7f8ffdfc9710
Name: gfx900
Vendor: Advanced Micro Devices, Inc.
Device OpenCL C version: OpenCL C 2.0
Driver version: 2766.4 (PAL,HSAIL)
Profile: FULL_PROFILE
Version: OpenCL 2.0 AMD-APP (2766.4)
Extensions: cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_khr_gl_depth_images cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_image2d_from_buffer cl_khr_spir cl_khr_subgroups cl_khr_gl_event cl_khr_depth_images cl_khr_mipmap_image cl_khr_mipmap_image_writes
Czyli niby OK, zaraz sprawdzę na jakimś większym projekcie czy blender daje radę.
Edit: Wszystko działa. Teraz upgrade jądra mi niestraszny
Edit2: Gwoli wyjaśnienia - sterownik pozostał opensource'owy - ten który jestdomyślnie w distro, doinstalowane są tylko biblioteki OpenCL z AMDGPU-PRO. Działa OpenGL, OpenCL, po wydłubaniu biblioteki vulkana działa też i vulkan.
Liczba postów: 4 233
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
12-04-2019, 20:14
(Ten post był ostatnio modyfikowany: 12-04-2019, 20:18 przez dedito.)
0 Jak chciałeś zainstalować samo OpenCL to wystarczyło uruchomić instalator z opcjami:
Kod: ./amdgpu-pro-install -y --opencl=pal,legacy --headless
Jenot
Gość
Miernik podziękowań 0%
0 Cholera, zrobiłem sobie to samo na piechotę Zasugerowałem się tym, że na Debianie i Mincie nie chciało działać - na ubuntu nie będzie problemu...
Edit... sorry, to nie działa na jądrach > 4.15. Wydłubywanie bibliotek jednak jest na razie jedynym rozwiązaniem. Błąd:
Kod: Loading new amdgpu-18.50-756341 DKMS files...
Building for 4.18.0-17-generic
Building for architecture x86_64
Building initial module for 4.18.0-17-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/amdgpu-dkms.0.crash'
Error! Bad return status for module build on kernel: 4.18.0-17-generic (x86_64)
Consult /var/lib/dkms/amdgpu/18.50-756341/build/make.log for more information.
Wynika z tego, że jednak instalator mimo wybrania opcji --headless próbuje na siłę budować swój moduł amdgpu.
Liczba postów: 4 233
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
0 Trzeba spojrzeć w przywołane logi aby dowiedzieć się co powoduje ten błąd.
W skrypcie masz informację jakie paczki są instalowane w zależności od opcji:
Kod: BASE_PACKAGE=amdgpu-core
META_PACKAGE=amdgpu
OPENGL_META_PACKAGE=amdgpu-pro
OPENCL_LEGACY_META_PACKAGES=(clinfo-amdgpu-pro opencl-orca-amdgpu-pro-icd)
OPENCL_PAL_META_PACKAGES=(clinfo-amdgpu-pro opencl-amdgpu-pro-icd)
VULKAN_META_PACKAGE=vulkan-amdgpu-pro
LIB32_META_PACKAGE=amdgpu-lib32
LIB32_OPENGL_META_PACKAGE=amdgpu-pro-lib32
LIB32_VULKAN_META_PACKAGE=vulkan-amdgpu-pro:i386
PX_PACKAGE=xserver-xorg-video-modesetting-amdgpu-pro
BASE_PACKAGE jest instalowany zawsze, do OPENCL, masz wymienione trzy paczki, ale w wymaganiach jest jeszcze libopencl.
Jenot
Gość
Miernik podziękowań 0%
0 I właśnie o to chodzi, że amdgpu-core jest instalowany zawsze, a tam jest moduł do jądra, który nie chce się budować na kernelu >4.15,, deb'y z opencl i vulkanem są od niego zależne. W związku z tym po restarcie mam black screen, co ciekawe - amdgpu-pro-uninstall nie czyści dokładnie po sobie i po jego wykonaniu na wersji jądra, na której był instalowany amdgpu-pro dalej jest black screen.
A to log:
Kod: ProblemType: Package
DKMSBuildLog:
DKMS make.log for amdgpu-18.50-756341 for kernel 4.18.0-17-generic (x86_64)
pią, 12 kwi 2019, 21:16:33 CEST
make: Wejście do katalogu '/usr/src/linux-headers-4.18.0-17-generic'
Makefile:970: "Cannot use CONFIG_STACK_VALIDATION=y, please install libelf-dev, libelf-devel or elfutils-libelf-devel"
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/kcl_drm.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/main.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/symbols.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/kcl_fence.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/kcl_fence_array.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/lib/chash.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/kcl_kthread.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/kcl_io.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/scheduler/sched_main.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/kcl_reservation.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/scheduler/sched_entity.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/scheduler/sched_fence.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/kcl_drm_global.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/kcl_pci.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/ttm/ttm_memory.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/ttm/ttm_tt.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdgpu/amdgpu_drv.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdgpu/amdgpu_device.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/kcl_mn.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdkcl/kcl_bitmap.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdgpu/amdgpu_kms.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/amdgpu/amdgpu_atombios.o
LD [M] /var/lib/dkms/amdgpu/18.50-756341/build/amd/lib/amdchash.o
CC [M] /var/lib/dkms/amdgpu/18.50-756341/build/ttm/ttm_bo.o
/var/lib/dkms/amdgpu/18.50-756341/build/ttm/ttm_memory.c:29:0: warning: "pr_fmt" redefined
#define pr_fmt(fmt) "[TTM] " fmt
In file included from ./include/linux/kernel.h:14:0,
from ./include/linux/list.h:9,
from ./include/linux/wait.h:7,
from ./include/linux/dma-fence.h:25,
from /var/lib/dkms/amdgpu/18.50-756341/build/include/kcl/kcl_fence.h:12,
from /var/lib/dkms/amdgpu/18.50-756341/build/ttm/backport/backport.h:5,
from <command-line>:0:
./include/linux/printk.h:292:0: note: this is the location of the previous definition
#define pr_fmt(fmt) fmt
Liczba postów: 4 233
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
13-04-2019, 09:20
(Ten post był ostatnio modyfikowany: 13-04-2019, 09:22 przez dedito.)
0 W amdgpu-core nie ma modułu do jądra, tam jest tylko skrypt, który inicjuje budowę podstawowych modułów sterownika.
Ten błąd z dkms niewiele mi mówi, nie znajduję też informacji o braku kompatybilności z wcześniejszymi jądrami.
Jak znajdę czas to zainstaluję u siebie i potwierdzę Ci czy u mnie jest podobnie.
Jenot
Gość
Miernik podziękowań 0%
0 OK, na razie metoda "na rympał" się sprawdza. Wszystko działa z jajkiem 5.0.7. Mam też plan, żeby napisać prosty skrypt wydłubujący z AMDGPU-PRO potrzebne biblioteki i składający z tego jednego, małego, zgrabnego deb'a, którego można sobie w razie potrzeby odinstalować jak AMD wyda nową wersję.
Liczba postów: 4 233
Liczba wątków: 76
Dołączył: Dec 2018
Reputacja:
System: Inny
Środowisko graficzne: Xfce
Architektura CPU: 64bit
Inny System: Debian testing/sid
Miernik podziękowań 39%
0 Proponuję też poszukać czemu blender nie chce "gadać" z OPENCL z repozytoriów lub spróbuj też pobawić się w instalację starszego sterownika w wersji 18.20.
|