Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
atelier:chantier:opencl-avec-amd [11/04/2020 15:16] Debian Alain [Préambule] |
atelier:chantier:opencl-avec-amd [11/04/2020 19:48] Debian Alain [Installation] |
||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
* Objet : installer openCL sur debian carte AMD | * Objet : installer openCL sur debian carte AMD | ||
* Niveau requis : débutant avisé | * Niveau requis : débutant avisé | ||
- | * Commentaires : //installation du pilote openCL pour carte AMD RX 550 4GB et BLENDER 2.8 sur DEBIAN TESTING BULLSEYE // | + | * Commentaires : //installation du pilote openCL pour carte AMD et BLENDER 2.82a sur DEBIAN TESTING BULLSEYE // |
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser NU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser NU/Linux en ligne de commande, tout commence là !.]] :-) | ||
* Suivi : {{tag>en-chantier à-tester à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. | * Suivi : {{tag>en-chantier à-tester à-placer}} - FIXME Pour choisir, voir les autres Tags possibles dans [[:atelier:#tags|l'Atelier]]. | ||
* Création par [[user>Debian Alain]] 11/04/2020 | * Création par [[user>Debian Alain]] 11/04/2020 | ||
+ | * co créé par Plop6 (irc) un grand merci ! :) | ||
* Testé par <...> le <...> FIXME | * Testé par <...> le <...> FIXME | ||
* Commentaires sur le forum : [[:url-invalide | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | * Commentaires sur le forum : [[:url-invalide | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | ||
Ligne 15: | Ligne 16: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | ce petit tuto reprend les étapes d'installation du pilote openCL sur carte AMD (RX 550 4GB) | + | ce petit tuto reprend les étapes d'installation du pilote openCL sur carte AMD (RX 550 4GB) |
- | le tout , fait sur linux debian testing bullseye , X.org GNOME , blender 2.82a | + | |
+ | le tout , fait sur linux debian testing bullseye , | ||
+ | |||
+ | X.org GNOME 3.34.2 , blender 2.82a | ||
+ | |||
+ | et processeur AMD RYZEN 7 1700 X | ||
+ | |||
+ | un grand merci à PLOP6 (irc) sans qui rien n'aurai été possible . | ||
+ | |||
+ | ===== Historique ===== | ||
+ | |||
+ | openCL , à l'origine , a été créé pour uniformiser les programmes de calcul "massivement" parallèles . | ||
+ | |||
+ | au départ , son emploi s'étendait aussi bien aux calculs fait par les CPU que ceux faits par les GPU . | ||
+ | |||
+ | possibilité que l'on retrouve aujourd'hui dans blender . | ||
+ | |||
+ | openCL donne la possibilité d'utiliser ou / et le CPU ou / et le GPU . | ||
+ | |||
+ | en règle générale , aujourd'hui , openCL est de plus en plus utilisé pour employer la puissance de calcul des cartes graphiques . | ||
+ | |||
+ | petite bibliographie openCL : | ||
+ | |||
+ | [[https://en.wikipedia.org/wiki/OpenCL#Overview|en.wikipedia : openCL ]] | ||
+ | |||
+ | [[http://igm.univ-mlv.fr/~dr/XPOSE2011/openclgpucomputing/historique.php|OpenCL et Programmation Générique sur GPU]] | ||
+ | |||
+ | [[https://www.hardware.fr/articles/744-1/opencl-gpu-computing-enfin-democratise.html|OpenCL : le GPU Computing enfin démocratisé ?]] | ||
+ | |||
+ | [[https://doc.ubuntu-fr.org/opencl|openCL - ubuntu.fr (résumé) ]] | ||
+ | |||
+ | petite bibliographie dtrx : | ||
+ | |||
+ | [[https://memo-linux.com/dtrx-ou-la-decompression-facile-en-ligne-de-commande-sous-gnulinux/| dtrx ou la décompression facile en ligne de commande]] | ||
+ | |||
+ | [[https://packages.debian.org/fr/buster/dtrx|Paquet : dtrx (7.1-2)]] | ||
===== Préambule ===== | ===== Préambule ===== | ||
- | d'abord , télécharger l'archive du pilote amdgpu-pro (pour ubuntu) : | + | <note important>Un conseil : travaillez dans le répertoire ~/Téléchargements , c'est plus sûr .</note> |
+ | |||
+ | d'abord , télécharger l'archive du pilote amdgpu-pro (version 19.50 pour ubuntu 18.04 LTS) : | ||
+ | |||
+ | <code user>cd ~/Téléchargements/</code> | ||
<code user>wget https://drivers.amd.com/drivers/linux/19.50/amdgpu-pro-19.50-967956-ubuntu-18.04.tar.xz</code> | <code user>wget https://drivers.amd.com/drivers/linux/19.50/amdgpu-pro-19.50-967956-ubuntu-18.04.tar.xz</code> | ||
Ligne 30: | Ligne 70: | ||
créer les scripts suivants : | créer les scripts suivants : | ||
- | <code root>nano Arborescence.sh</code> | + | <code user> sudo nano ~/Téléchargements/Arborescence.sh</code> |
<code>#!/bin/bash | <code>#!/bin/bash | ||
Ligne 36: | Ligne 76: | ||
mkdir -p /etc/OpenCL/vendors</code> | mkdir -p /etc/OpenCL/vendors</code> | ||
- | <code root>nano Extraction.sh</code> | + | <code user>sudo nano ~/Téléchargements/Extraction.sh</code> |
<code>#!/bin/bash | <code>#!/bin/bash | ||
Ligne 46: | Ligne 86: | ||
dtrx -r -q amdgpu-pro-*.tar.xz</code> | dtrx -r -q amdgpu-pro-*.tar.xz</code> | ||
- | <code root>nano Copie.sh</code> | + | <code user>sudo nano ~/Téléchargements/Copie.sh</code> |
<code>#!/bin/bash | <code>#!/bin/bash | ||
Ligne 80: | Ligne 120: | ||
cp ${CustDir}amdocl64.icd ${VendorsDir}</code> | cp ${CustDir}amdocl64.icd ${VendorsDir}</code> | ||
- | <code root>nano maj.sh</code> | + | <code user>sudo nano ~/Téléchargements/maj.sh</code> |
<code>#!/bin/bash | <code>#!/bin/bash | ||
Ligne 87: | Ligne 127: | ||
ldconfig</code> | ldconfig</code> | ||
- | <code root>nano raz.sh</code> | + | <code user>sudo nano ~/Téléchargements/raz.sh</code> |
<code>#!/bin/bash | <code>#!/bin/bash | ||
Ligne 98: | Ligne 138: | ||
===== Installation ===== | ===== Installation ===== | ||
+ | |||
+ | <note warning>commencer par se placer dans le répertoire Téléchargements</note> | ||
+ | |||
+ | <code user>cd ~/Téléchargements/</code> | ||
on commence par créer l'arborescence : | on commence par créer l'arborescence : | ||
Ligne 122: | Ligne 166: | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
+ | pour tester blender avec openCL , on peut télécharger des exemples ici : | ||
+ | |||
+ | [[https://www.blender.org/download/demo-files/|exemples blender ]] | ||
+ | |||
+ | dans Edit / Preferences / System / OpenCL , | ||
+ | |||
+ | vous pourrez choisir votre carte graphique (ici AMD Radeon RX 550 / 550 Series) | ||
+ | et / ou votre processeur (AMD RYZEN 7 1700X , ici) | ||
+ | |||
+ | un grand merci à plop6 (irc) sans qui rien n'aurai été possible ... | ||
+ | |||
+ | ===== Post Scriptum ===== | ||
+ | |||
+ | la carte est montée en pointe , à 75 °C | ||
+ | |||
+ | voici quelques écrans que vous obtiendrez peut être à la fin de l'installation : | ||
+ | |||
+ | <code user>lspci -nnkd::0300</code> | ||
+ | <code>0a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] [1002:699f] (rev c7) | ||
+ | Subsystem: Sapphire Technology Limited Lexa PRO [Radeon RX 550] [1da2:e367] | ||
+ | Kernel driver in use: amdgpu | ||
+ | Kernel modules: amdgpu</code> | ||
+ | |||
+ | <code user>glxinfo -B</code> | ||
+ | <code>name of display: :0 | ||
+ | display: :0 screen: 0 | ||
+ | direct rendering: Yes | ||
+ | Extended renderer info (GLX_MESA_query_renderer): | ||
+ | Vendor: X.Org (0x1002) | ||
+ | Device: Radeon RX550/550 Series (POLARIS12, DRM 3.35.0, 5.4.0-4-amd64, LLVM 9.0.1) (0x699f) | ||
+ | Version: 19.3.3 | ||
+ | Accelerated: yes | ||
+ | Video memory: 4096MB | ||
+ | Unified memory: no | ||
+ | Preferred profile: core (0x1) | ||
+ | Max core profile version: 4.5 | ||
+ | Max compat profile version: 4.5 | ||
+ | Max GLES1 profile version: 1.1 | ||
+ | Max GLES[23] profile version: 3.2 | ||
+ | Memory info (GL_ATI_meminfo): | ||
+ | VBO free memory - total: 3648 MB, largest block: 3648 MB | ||
+ | VBO free aux. memory - total: 3577 MB, largest block: 3577 MB | ||
+ | Texture free memory - total: 3648 MB, largest block: 3648 MB | ||
+ | Texture free aux. memory - total: 3577 MB, largest block: 3577 MB | ||
+ | Renderbuffer free memory - total: 3648 MB, largest block: 3648 MB | ||
+ | Renderbuffer free aux. memory - total: 3577 MB, largest block: 3577 MB | ||
+ | Memory info (GL_NVX_gpu_memory_info): | ||
+ | Dedicated video memory: 4096 MB | ||
+ | Total available memory: 8192 MB | ||
+ | Currently available dedicated video memory: 3648 MB | ||
+ | OpenGL vendor string: X.Org | ||
+ | OpenGL renderer string: Radeon RX550/550 Series (POLARIS12, DRM 3.35.0, 5.4.0-4-amd64, LLVM 9.0.1) | ||
+ | OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.3.3 | ||
+ | OpenGL core profile shading language version string: 4.50 | ||
+ | OpenGL core profile context flags: (none) | ||
+ | OpenGL core profile profile mask: core profile | ||
+ | |||
+ | OpenGL version string: 4.5 (Compatibility Profile) Mesa 19.3.3 | ||
+ | OpenGL shading language version string: 4.50 | ||
+ | OpenGL context flags: (none) | ||
+ | OpenGL profile mask: compatibility profile | ||
+ | |||
+ | OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.3.3 | ||
+ | OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20</code> | ||
+ | |||
+ | <code user>clinfo</code> | ||
+ | <code>Number of platforms 1 | ||
+ | Platform Name AMD Accelerated Parallel Processing | ||
+ | Platform Vendor Advanced Micro Devices, Inc. | ||
+ | Platform Version OpenCL 2.1 AMD-APP (3004.6) | ||
+ | Platform Profile FULL_PROFILE | ||
+ | Platform Extensions cl_khr_icd cl_amd_event_callback cl_amd_offline_devices | ||
+ | Platform Host timer resolution 1ns | ||
+ | Platform Extensions function suffix AMD | ||
+ | |||
+ | Platform Name AMD Accelerated Parallel Processing | ||
+ | Number of devices 1 | ||
+ | Device Name gfx804 | ||
+ | Device Vendor Advanced Micro Devices, Inc. | ||
+ | Device Vendor ID 0x1002 | ||
+ | Device Version OpenCL 1.2 AMD-APP (3004.6) | ||
+ | Driver Version 3004.6 | ||
+ | Device OpenCL C Version OpenCL C 1.2 | ||
+ | Device Type GPU | ||
+ | Device Board Name (AMD) Radeon RX550/550 Series | ||
+ | Device Topology (AMD) PCI-E, 0a:00.0 | ||
+ | Device Profile FULL_PROFILE | ||
+ | Device Available Yes | ||
+ | Compiler Available Yes | ||
+ | Linker Available Yes | ||
+ | Max compute units 8 | ||
+ | SIMD per compute unit (AMD) 4 | ||
+ | SIMD width (AMD) 16 | ||
+ | SIMD instruction width (AMD) 1 | ||
+ | Max clock frequency 1206MHz | ||
+ | Graphics IP (AMD) 8.0 | ||
+ | Device Partition (core) | ||
+ | Max number of sub-devices 8 | ||
+ | Supported partition types None | ||
+ | Supported affinity domains (n/a) | ||
+ | Max work item dimensions 3 | ||
+ | Max work item sizes 1024x1024x1024 | ||
+ | Max work group size 256 | ||
+ | Preferred work group size (AMD) 256 | ||
+ | Max work group size (AMD) 1024 | ||
+ | Preferred work group size multiple 64 | ||
+ | Wavefront width (AMD) 64 | ||
+ | Preferred / native vector sizes | ||
+ | char 4 / 4 | ||
+ | short 2 / 2 | ||
+ | int 1 / 1 | ||
+ | long 1 / 1 | ||
+ | half 1 / 1 (cl_khr_fp16) | ||
+ | float 1 / 1 | ||
+ | double 1 / 1 (cl_khr_fp64) | ||
+ | Half-precision Floating-point support (cl_khr_fp16) | ||
+ | Denormals No | ||
+ | Infinity and NANs No | ||
+ | Round to nearest No | ||
+ | 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 Yes | ||
+ | Round to infinity Yes | ||
+ | IEEE754-2008 fused multiply-add Yes | ||
+ | Support is emulated in software No | ||
+ | Correctly-rounded divide and sqrt operations Yes | ||
+ | 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 3816013824 (3.554GiB) | ||
+ | Global free memory (AMD) 3706992 (3.535GiB) | ||
+ | Global memory channels (AMD) 4 | ||
+ | Global memory banks per channel (AMD) 16 | ||
+ | Global memory bank width (AMD) 256 bytes | ||
+ | Error Correction support No | ||
+ | Max memory allocation 3054000332 (2.844GiB) | ||
+ | Unified memory for Host and Device No | ||
+ | Minimum alignment for any data type 128 bytes | ||
+ | Alignment of base address 2048 bits (256 bytes) | ||
+ | Global Memory cache type Read/Write | ||
+ | Global Memory cache size 16384 (16KiB) | ||
+ | Global Memory cache line size 64 bytes | ||
+ | Image support Yes | ||
+ | Max number of samplers per kernel 16 | ||
+ | Max size for 1D images from buffer 134217728 pixels | ||
+ | Max 1D or 2D image array size 2048 images | ||
+ | Base address alignment for 2D image buffers 256 bytes | ||
+ | Pitch alignment for 2D image buffers 256 pixels | ||
+ | Max 2D image size 16384x16384 pixels | ||
+ | Max 3D image size 2048x2048x2048 pixels | ||
+ | Max number of read image args 128 | ||
+ | Max number of write image args 8 | ||
+ | Local memory type Local | ||
+ | Local memory size 32768 (32KiB) | ||
+ | Local memory syze per CU (AMD) 65536 (64KiB) | ||
+ | Local memory banks (AMD) 32 | ||
+ | Max number of constant args 8 | ||
+ | Max constant buffer size 3054000332 (2.844GiB) | ||
+ | Preferred constant buffer size (AMD) 16384 (16KiB) | ||
+ | Max size of kernel argument 1024 | ||
+ | Queue properties | ||
+ | Out-of-order execution No | ||
+ | Profiling Yes | ||
+ | Prefer user sync for interop Yes | ||
+ | Profiling timer resolution 1ns | ||
+ | Profiling timer offset since Epoch (AMD) 1586590360034232392ns (Sat Apr 11 09:32:40 2020) | ||
+ | Execution capabilities | ||
+ | Run OpenCL kernels Yes | ||
+ | Run native kernels No | ||
+ | Thread trace supported (AMD) Yes | ||
+ | Number of async queues (AMD) 2 | ||
+ | Max real-time compute queues (AMD) 0 | ||
+ | Max real-time compute units (AMD) 0 | ||
+ | SPIR versions 1.2 | ||
+ | printf() buffer size 4194304 (4MiB) | ||
+ | Built-in kernels (n/a) | ||
+ | Device 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_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_gl_event | ||
+ | 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 [AMD] | ||
+ | clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1) | ||
+ | Platform Name AMD Accelerated Parallel Processing | ||
+ | Device Name gfx804 | ||
+ | clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform | ||
+ | clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1) | ||
+ | Platform Name AMD Accelerated Parallel Processing | ||
+ | Device Name gfx804 | ||
+ | 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 AMD Accelerated Parallel Processing | ||
+ | Device Name gfx804</code> | ||
+ | | ||
+ | |