Colonia Apacible

Después de una punta de años, vuelta a Colonia, Uruguay. Por un lado, no cambió, increíble estar tan cerca y tan lejos del ruido y  del BAires. Por el otro – no recordaba que todas las tardes soleadas son un privilegio allá.

Tranquilas aguas del Atlántico en Punta del Este.

Este viaje conocimos San Antonio de Areco – gran descubrimiento, pueblo y estancia.

 

Usando OpenCL en Fedora (28) con darktable &c

Acá va un post bien técnico.

La motivación

  • Usás Fedora u otra distro basada en rpm, versión reciente (Fedora 28 o más nueva)
  • Tenés una tarjeta gráfica AMD (ejemplo: GPU RX560)
  • Usás darktable y GIMP para procesar fotos
  • Querés usar OpenCL para acelerar darktable/GIMP (500% más rápido en muchas operaciones), pero no querés arriesgar tu desktop/workstation instalando el driver propietario amdgpu-pro
  • En tu desktop, para OpenGL etc (aceleración gráfica normal) y para juegos, querés seguir usando el driver amdgpu open-source, que es más rápido y está mucho mejor soportado que el propietario
  • Tampoco podrías usar el driver propietario porque sólo soporta RedHat or CentOS con kernels viejísimas
  • Te diste cuenta de que la implementación open-source que viene en tu distro es tan mala que darktable la ignora y no te deja activar OpenCL
    • en otras palabras, el comando darktable-cltest te dice que no encuentra ninguna implementación OpenCL que valga la pena activar. Así, sin anestesia.

La solución

  • Utilizar solamente las librerías OpenCL que vienen en el driver propietario amdgpu-pro versión CentOS, y hacer que tu sistema las vea, sin modificar nada más

El procedimiento

  • download a recent amdgpu-pro (tested with 18.20), CentOS flavor, for example: this one; store it somewhere where it can stay
  • Extract the content of the .tar.xz file to a folder; inside that folder navigate to ./RPMS/x86_64, and «Open a Terminal» in it (or: inside any terminal, ‘cd’ to this same folder)
  • Now we will unpack the RPMs to extract the libraries; this procedure will generate a lot of files and may take a minute or two in a slower machine; run this in the terminal:
for i in *.rpm; do rpm2cpio $i | cpio -idmv; done
  • A bunch of new subdirectories are created; navigate to this one: ./RPMS/x86_64/etc/OpenCL  – it contains two files: amdocl64.icd and amdocl-orca64.icd
  • Copy both files to /etc/OpenCL/vendors
  • Now navigate back to x86_64, and forward to: ./opt/amdgpu-pro/lib64; make sure this folder exists and that it contains a bunch of libraries (.so files); note the full path to this folder; for example
/opt/amdgpu-pro/amdgpu-pro-18.20-606296/RPMS/x86_64/opt/amdgpu-pro/lib64
  • Before the final step, confirm that darktable-cltest can use these libraries, this can be done easily like so:
LD_LIBRARY_PATH=/opt/amdgpu-pro/amdgpu-pro-18.20-606296/RPMS/x86_64/opt/amdgpu-pro/lib64 darktable-cltest
  • if all went well, darktable-cltest will find the OpenCL libraries and your card, and compile all its «opencl kernels», showing a bunch of «successfully loaded kernel» messages
  • At this point you could launch darktable or GIMP with the same LD_LIBRARY_PATH trick as above, modify your launchers etc, and you will get OpenCL acceleration exposed to the apps you want.
  • Test performance directly with darktable after enabling OpenCL (Options > Core Options > Activate OpenCL) – two darktable modules particularly impacted are «denoise (profiled)» and JPG exports – I measured 5X improvement in performance in the latter.

 

Tantas vueltas para usar OpenCL en Fedora y otras distros seguramente se van a simplificar de acá a uno o dos años, cuando la nueva implementación OpenCL open-source de AMD (ROCm) sea finalmente incluída en las distribuciones. Al parecer esto puede tomar un tiempo. He aquí el procedimiento que se puede usar en el ínterin.

Marrakesh, Tanger y País Vasco

El año pasado el viento nos llevó una vez más hacia el Este.

Explorando Ksars y Kasbahs en la ruta del desierto,

(Ksar Ait Ben Haddou = uno de los escenarios naturales de Game of Thrones).

Luego Tánger, cruzando el Mediterráneo en ferry, Algeciras > Córdoba y la ineludible catedral,

(hermosa pequeña ciudad que excedió todas las expectativas!).

Y qué se puede decir de San Sebastián, cocina incluída.

… y de su ciudad gemela del lado Francés, Biarritz. Cerrando via Bilbao, París, vuelta a casa.

Algunas fotos aquí.

 

 

GIMP / alineando horizontes…

GIMP es una aplicación genial pero para los que no la usamos tan seguido, hacer cosas simples como rotar unos pocos grados una foto que salió con el horizonte en diagonal en lugar de horizontal puede ser intimidante – no es muy intuitiva. Uno selecciona la herramienta de «Rotación» (Layer > Transform > Arbitrary Rotation, o el ícono equivalente en el toolbox), esta ahí es muy fácil. Ahora para corregir el horizonte torcido, naturalmente hace falta una linea horizontal de referencia, y ahí es donde se puede complicar. La configuración de la herramienta de rotación permite activar una «guía» con muchas opciones (por ejemplo, la densidad de la retícula) – el problema: la retícula gira junto con la imagen/foto, o sea: no sirve como referencia horizontal; de hecho no sé bien para que caso de uso es util un retícula que gira al rotar la imagen pero claramente es inútil para el caso de alinear horizontes que salieron en diagonal :)

La solución: en lugar de utilizar la grilla que provee la herramienta de rotación, activar una «grilla estática» sobre la imagen. Esto se puede hacer desde el menú View > Show Grid; el espacio entre líneas de la retícula se puede ajustar: Image > Configure Grid. La grilla así activada va permanecer inmóvil mientras la imagen está siendo rotada – sirve la función de fijar líneas horizontales y verticales de referencia.

La captura de pantalla que sigue corresponde a GIMP 2.9.8.

 

GIMP / activar Grid (cuadrícula)

GIMP / activar Grid (cuadrícula)

Quemando BD-Rs en linux

Quemar discos bluray en linux hace unos años solía ser un viaje lleno de peripecias y un evento generador de posa-vasos. Mi solución en Fedora era instalar cdr-tools de una repo externa, y después reconfigurar k3b. Entre los cientos de opciones de k3b, había que tocar un par para cambiar el backend a cdr-tools y asegurarse que lo use. Un proceso tedioso y sujeto a errores sobre todo si usa una o dos veces por año para algún backup ocasional. También existía (existe) Brasero pero nunca funcionó con BDRs.

Hoy día, en Fedora 27, K3b se cuelga mal en mi desktop al intentar usarlo con una grabadora portátil LG WP50NB40 (USB), pero mirando el lado positivo, gracias a eso descubrí XFburn, una app super simple con solo dos opciones de configuración que no hace falta tocar. No requiere cdr-tools (creo) ni nada raro. Quemó sin problemas BD-RE (regrabables) de 50GB, y m-disk BDXL 100GB. Sorprendente. Lo unico que no tiene es función de «verificación». Una manera simple para poder verificar la grabación: en lugar de grabar archivos sueltos, comprimir todo aun archivo .tar.xz, y luego crear un checksum

md5sum mi_archivo.tar.xz > mi_archivo.tar.xz.md5

… que se puede grabar en el BD junto con el archivo tar.xz principal. Para verificar, simplemente usar md5sum directamente sobre el archivo tar.xz en el BDR y comparar el checksum.

Top