Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Mint i AMDGPU-PRO, OPENCL
#11
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 Wink
Odpowiedz
#12
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
Kod:
vulkaninfo
Odpowiedz
#13
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:
[email protected]:~/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 Wink
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.
Odpowiedz
#14
0
Jak chciałeś zainstalować samo OpenCL to wystarczyło uruchomić instalator z opcjami:
Kod:
./amdgpu-pro-install -y --opencl=pal,legacy --headless
Odpowiedz
#15
0
Cholera, zrobiłem sobie to samo na piechotę Wink 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.
Odpowiedz
#16
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.
Odpowiedz
#17
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
Odpowiedz
#18
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.
Odpowiedz
#19
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ę.
Odpowiedz
#20
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.
Odpowiedz


Skocz do:




Użytkownicy przeglądający ten wątek: 1 gości