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

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

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?

Recent Posts

  • Periféricos
  • Tutoriales

Tipos de USB: conectores, versiones y estándares que debes conocer

Existen muchos tipos de USB, ¿los conoces todos? Suponemos que no, así que te recopilamos…

9 horas atrás
  • Tutoriales

Cables USB magnéticos: todo lo que necesitas saber

Se están haciendo cada vez más populares, y eso ha llevado a tener mayor curiosidad…

10 horas atrás
  • Portátiles y ordenadores

Apple M3 Air 8Gb vs 16 GB ¿Merece la pena la diferencia de precio?

Si estás pensando en adquirir un portátil Apple Macbook Air, seguro que querrás conocer las…

11 horas atrás