Artículo
· 22 nov, 2023 Lectura de 3 min

Cómo determinar la familia de microarquitectura y el conjunto de instrucciones de la CPU

Introducción

A InterSystems le gustaría optimizar IRIS para aprovechar las modernas extensiones del conjunto de instrucciones de la CPU.  Eso está genial para el rendimiento del producto, pero ¿cómo sabéis si vuestra CPU seguirá siendo compatible con las nuevas versiones de IRIS? En este artículo os explico cómo saber la familia de microarquitectura de la CPU, y cómo averiguar las extensiones específicas del conjunto de instrucciones de la CPU.

Cómo encontrar la familia de microarquitectura de la CPU

Paso 1 – Saber el modelo de CPU

El primer paso es averiguar el modelo específico de CPU de vuestro servidor de IRIS. Hay varias formas de hacerlo, dependiendo del sistema operativo, pero aquí os muestro cómo obtener la información directamente desde IRIS.

En una sesión de terminal de IRIS, ejecutad do $system.CPU.Dump(). Esto generará resultados como este:

              Architecture: x86_64

                     Model: Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz

                    Vendor: Intel

              # of threads: 8

                # of cores: 4

                # of chips: 1

     # of threads per core: 2

       # of cores per chip: 4

              MT supported: 1

                MT enabled: 1

                       MHz: 2300

 

La información del modelo de CPU que necesitamos está en el campo "Model" arriba. 

 

Paso 2 – Preguntar por la familia de microarquitectura a vuestro motor favorito de IA Generativa

El número de modelo será particular para cada una de las distintas plataformas y las distintas generaciones de procesadores, pero la IA Generativa hace un trabajo razonablemente bueno en compensar esas diferencias.

Recientemente he estado usando la interfaz con GPT-4 de Bing para IA Generativa. En el chat, pregunto:

    ¿A qué familia de microarquitectura pertenece la CPU <indicad el modelo de CPU aquí>”?

Por ejemplo:

    ¿A qué familia de microarquitectura pertenece la CPU “Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz”?

Devuelve esto:

La CPU Intel® Core™ i7-1068NG7 CPU @ 2.30GHz forma parte de la familia de procesadores Intel® Core™ i7 de 10ª generación, que se basa en la microarquitectura Ice Lake.

Podéis verificar esta información desde Intel o AMD, si fuera necesario. En ocasiones esto puede requerir un poco de investigación, porque a menudo se utilizan varios nombres de marcas para la misma familia de microarquitecturas – por ejemplo, la línea de procesadores EPYC de AMD incluye dos ramas llamadas Milan y Rome.

 

¿Qué extensiones del conjunto de instrucciones son compatibles con vuestra CPU?

En vez de buscar la familia de microarquitectura de vuestra CPU y compararla con una lista de familias de CPU compatibles, podéis optar por verificar que vuestra CPU tiene las extensiones específicas que se van a requerir. 
 

Linux

En Linux, abrid un shell y ejecutad el comando lscpu.  La sección "Flags" en los resultados contiene la lista de extensiones compatibles con vuestra CPU.
 

MacOS

En un Mac, podéis ver las extensiones compatibles desde el comando sysctl.  Abrid un shell y ejecutad sysctl -a. Después, buscad en las líneas machdep.cpu.features y machdep.cpu.leaf7_features las extensiones compatibles con vuestra CPU.
 

Windows

La utilidad coreinfo nos devolverá una lista de las extensiones del conjunto de extensiones de la CPU.

Comentarios (0)1
Inicie sesión o regístrese para continuar