Blender Cycles No copatible GPU found

Pyrukar

Captain
Registriert
Jan. 2013
Beiträge
3.703
Hallo zusammen,

Ich nutze Blender in der aktuellsten Version auf Manjaro. Leider scheint die GPU Compute Option bei Cycles nicht zu funktionieren (hat sie auf Linux schätzungsweise auch noch nie). Genutzt wird die Hardware in der Signatur. Anscheinend gibts das Problem immer mal wieder aber offiziell wird die AMD RX reihe durchaus Unterstützt :). Fehlt mir ggf nur irgend ein Codec bzw ein optionaler Treiber für OpenGL o.ä. Ich hab bei einer kurzen Online Suche einige ähnliche Fragen gefunden, jedoch alle etwas älter und ungelöst. Des Weiteren bin ich auf den AMD Radeon ProRender gestoßen, der aber bei AMD als .run datei zum Download steht. Bekomme ich den auf Manjaro zum laufen bzw unter welchem Namen könnte das Programm im AUR zu finden sein?

gruß

Pyrukar
 
Ich sehe da nur was für Cuda und somit Nvidea ergo wenn ich mich nicht irre hilfts wohl leider nicht.
 
Soweit ich weis, sind inzwischen wieder die Standardtreiber in benutzung ... wenn du mir sagst wie ich das am besten Auslese dann geb ich dir verbindlichere Infos :)
 
Wenn du nichts für deine Grafikkarte zusätzlich installiert hast (amdgpu-pro), läuft der freie amdgpu Treiber. Um damit openCL zu nutzen muss unter Arch-distris und Derivaten das Paket opencl-mesa installiert sein.
https://wiki.archlinux.org/index.php/GPGPU

Welcher Treiber gerade aktiv ist, findest du hiermit heraus:
Code:
# lshw -class display
Ausgegeben wird dann:
Code:
 *-display           
       description: VGA compatible controller
       product: GK104GLM [Quadro K5000M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:16 memory:f5000000-f5ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:f6000000-f607ffff
Bei dir sollte stehen:
Code:
driver=amdgpu
 
Zuletzt bearbeitet:
ja also es ist der Standardtreiber ... auch wenn der von dir genannte Befehl bei mir gar nix angezeigt hat ... über (mhwd -li -d --pci) wurde ausgegeben :Standard OpenSouce.

jetzt hab ich das opencl-mesa Paket installiert jedoch selbst nach neustart kommt bei Blender immer noch die Selbe aussage, No compatible GPU found
 
@lokon

Wenn du damit was anfangen kannst ...
Code:
Number of platforms                               1
  Platform Name                                   Clover
  Platform Vendor                                 Mesa
  Platform Version                                OpenCL 1.1 Mesa 19.1.4
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd
  Platform Extensions function suffix             MESA

  Platform Name                                   Clover
Number of devices                                 1
  Device Name                                     Radeon RX 570 Series (POLARIS10, DRM 3.30.0, 5.1.21-1-MANJARO, LLVM 8.0.1)
  Device Vendor                                   AMD
  Device Vendor ID                                0x1002
  Device Version                                  OpenCL 1.1 Mesa 19.1.4
  Driver Version                                  19.1.4
  Device OpenCL C Version                         OpenCL C 1.1
  Device Type                                     GPU
  Device Profile                                  FULL_PROFILE
  Device Available                                Yes
  Compiler Available                              Yes
  Max compute units                               32
  Max clock frequency                             1244MHz
  Max work item dimensions                        3
  Max work item sizes                             256x256x256
  Max work group size                             256
  Preferred work group size multiple              64
  Preferred / native vector sizes                 
    char                                                16 / 16     
    short                                                8 / 8       
    int                                                  4 / 4       
    long                                                 2 / 2       
    half                                                 8 / 8        (cl_khr_fp16)
    float                                                4 / 4       
    double                                               2 / 2        (cl_khr_fp64)
  Half-precision Floating-point support           (cl_khr_fp16)
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 No
    Round to infinity                             No
    IEEE754-2008 fused multiply-add               No
    Support is emulated in software               No
  Single-precision Floating-point support         (core)
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 No
    Round to infinity                             No
    IEEE754-2008 fused multiply-add               No
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  No
  Double-precision Floating-point support         (cl_khr_fp64)
    Denormals                                     Yes
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 Yes
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
  Address bits                                    64, Little-Endian
  Global memory size                              8589934592 (8GiB)
  Error Correction support                        No
  Max memory allocation                           6871947673 (6.4GiB)
  Unified memory for Host and Device              No
  Minimum alignment for any data type             128 bytes
  Alignment of base address                       32768 bits (4096 bytes)
  Global Memory cache type                        None
  Image support                                   No
  Local memory type                               Local
  Local memory size                               32768 (32KiB)
  Max number of constant args                     16
  Max constant buffer size                        2147483647 (2GiB)
  Max size of kernel argument                     1024
  Queue properties                               
    Out-of-order execution                        No
    Profiling                                     Yes
  Profiling timer resolution                      0ns
  Execution capabilities                         
    Run OpenCL kernels                            Yes
    Run native kernels                            No
  Device Extensions                               cl_khr_byte_addressable_store 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_fp64 cl_khr_fp16

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]              Success [MESA]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
    Platform Name                                 Clover
    Device Name                                   Radeon RX 570 Series (POLARIS10, DRM 3.30.0, 5.1.21-1-MANJARO, LLVM 8.0.1)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
    Platform Name                                 Clover
    Device Name                                   Radeon RX 570 Series (POLARIS10, DRM 3.30.0, 5.1.21-1-MANJARO, LLVM 8.0.1)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
    Platform Name                                 Clover
    Device Name                                   Radeon RX 570 Series (POLARIS10, DRM 3.30.0, 5.1.21-1-MANJARO, LLVM 8.0.1)
 
Aha also ist OpenCL korrekt installiert.

Das Problem liegt also bei Blender.
Kannst du OpenCL dort auswählen ?
Was sagt Blender bei der Auswahl von Cycles als Rendering Engine ?

Ansonsten vielleicht Blender deinstallieren und noch einmal neu aus dem AUR installieren:
Hintergrund: Beim bauen aus dem Quellcode fehlten dir damals vielleicht die opencl Features. Bei der Kompilierung wurde deshalb opencl abgeschaltet. Theoretisch sollte/könnte die Info zum OpenCL support deiner Blender Version in der SystemInfo von Blender stehen - also ähnlich wie hier das openmp feature

Wenn ich direkt hier in Arch Blender aus den Quellen (git, nicht via aur) compilieren will, dann scheint er opencl einzuschalten . Der Flag WITH_CYCLES_DEVICE_OPENCL:BOOL=ON wird gesetzt.

Eventuell bei Blender prüfen wie/ob der beim Start das OpenCL lädt via google: Blender mit ./blender --debug-cycles aufrufen und dann die Ausgabe ansehen
 
lokon schrieb:
Kannst du OpenCL dort auswählen ?
Was sagt Blender bei der Auswahl von Cycles als Rendering Engine ?
Wenn ich in den Settings openCL anschalten möchte kommt genau die aussage no compatible gpu found.

Was ist der Unterschied zwischen Blender aus der AUR und den Offiziellen Repositories?
Ergänzung ()

Okay selbst nach der Installation aus der AUR ist das Problem noch bestehend :(
 
Zuletzt bearbeitet:
Pyrukar schrieb:
Was ist der Unterschied zwischen Blender aus der AUR und den Offiziellen Repositories?
Keine Ahnung - das wissen die Blender Leute / der Ersteller des AUR vielleicht - ich nutze Blender nicht. (vermutlich verschiedene Ausgaben von Sysinfo)

Das Binärpaket kann zB auch ohne OpenCL Feature sein oder unter Arch eben ein Bug haben (bei Arch oder Manjaro kann zB OpenCL subtil anders als in Ubuntu sein) - im Bugtracker von Blender steht deshalb immer das Posten von der Sysinfo an erster Stelle bzw. die Ausgabe wenn mit --debug-cycles gestartet wird.
 
Ich hatte das selbe Problem (blender + AMD RX580 + Arch Linux).
Bei mir hat es geholfen, anstatt opencl-mesa das AUR Paket opencl-amd zu installieren.
https://aur.archlinux.org/packages/opencl-amd/

Blender habe ich ganz normal aus den offiziellen Quellen installiert und inzwischen läuft auch die GPU Unterstützung mit opencl-amd.
 
Gil'Galad schrieb:
Bei mir hat es geholfen, anstatt opencl-mesa das AUR Paket opencl-amd zu installieren.
Exakt das war anscheinend das Problem! Somit Gelöst. Danke an alle Helfer :)
 
Gil'Galad schrieb:
Blender habe ich ganz normal aus den offiziellen Quellen installiert und inzwischen läuft auch die GPU Unterstützung mit opencl-amd.

Aha bei der Suche nach dem "wieso" stößt man dann auf den Fakt dass Blender nicht mit dem OpenCL Paket von Mesa :hammer_alt: :p funktioniert bzw. per default zusammenarbeitet - und es immer "Vendor" OpenCL Pakete braucht oder eben "experimentelle" Umgebungsvariablen, die den instabilen Support freischalten.
Bugticket und das Featureticket, das Mesa OpenCL "Clover" in Blender unterstützt.
Fehlen also nur ein paar Wiki-Einträge / Bugs in der Docs-Sektion für bessere Dokumentation ...
 
Zurück
Oben