Procesadores

MATLAB: un usuario de reddit aumenta el rendimiento de AMD Ryzen MKL

Ahora, con MATLAB podremos aumentar el rendimiento de nuestros procesadores Ryzen. Todo gracias a un usuario de Reddit ¿Estáis preparados?

Antes de empezar, MATLAB se trata de un sistema de cómputo numérico que es usado por institutos de investigación, firmas de ingeniería, universidades o grandes empresas tecnológicas. Os preguntaréis ¿Para qué? Se trata de un sistema cuya finalidad es resolver problemas caracterizados por la existencia de matrices y vectores.

En nuestro caso, MATLAB es utilizado para la optimización de la Librería Kernel Matemática (MKL) ¡Empezamos!

Todo comienza por una mala optimización de Ryzen

MATLAB

Entre otras cosas, MATLAB se utiliza para realizar operaciones en las que se beneficia Intel MKL, lo que causa una mala optimización para los procesadores Ryzen. De esto se dio cuenta el usuario de Reddit Nedflanders1976, el cual consiguió aumentar al 280% el rendimiento de los procesadores Ryzen y los Ryzen Threadripper.

La pregunta es ¿Cómo? Obligando a MATLAB a usar conjuntos de instrucciones avanzadas, como puede ser AVX2. Hasta ahora, MKL comprobaba la identificación del fabricante de procesadores, pero, si veía que el procesador era AMD, caía hasta SSE, lo que significa una clara bajada de rendimiento para los procesadores Ryzen.

¿Bajar de AVX2 a SSE significa una caída de rendimiento? Sí, sobretodo cuando AMD Ryzen cuenta con tecnologías como SSE4, AVX o AVX2.

Guía para forzar a MKL a usar AVX2

MATLAB Ryzen 5 2600

El truco es sencillo y muy potente, pero se tiene que realizar de forma manual por los mismos usuarios de Ryzen. Simplemente, tenemos que crear un archivo .BAT usando el bloc de notas y guardando como «todos los archivos».

[irp]

Por tanto, abrimos un bloc de notas y escribimos en él todos los comandos para arrancar MKL en modo AVX2. Tenéis que escribir lo siguiente:

@echo off

set MKL_DEBUG_CPU_TYPE=5

call «%MKLROOT%\bin\mklvars.bat»  MKL_DEBUG_CPU_TYPE=5

matlab.exe

Te recomendamos la lectura de los mejores procesadores del mercado

Eso sí, este truco no será permanente, pero lo podemos convertir en permanente creando un sistema de entorno variable. El mismo usuario Nedflanders1976 subió el código fuente para que podamos probar en un benchmark el impacto de rendimiento que tiene el cambio a AVX2. ¿Probaréis este «truco» en vuestro Ryzen?

Fuente
TechPowerUPReddit

Ángel Aller

Graduado en Derecho y exabogado con Máster de Comercio internacional. Amante de la tecnología y geek inconformista. Leal a Alt+F4 como estilo de vida.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba