Intel Advisor (también conocido como " Advisor XE ", " Vectorization Advisor " o " Threading Advisor ") es una herramienta de asistencia de diseño y análisis para la vectorización SIMD , el subproceso, el uso de memoria y la optimización de la descarga de GPU. La herramienta admite los lenguajes C, C++, Data Parallel C++ (DPC++), Fortran y Python. Está disponible en los sistemas operativos Windows y Linux como una herramienta GUI independiente, un complemento de Microsoft Visual Studio o una interfaz de línea de comandos. [ 2 ] Admite OpenMP (y su uso con MPI ). La interfaz de usuario de Intel Advisor también está disponible en macOS .
Intel Advisor está disponible de forma gratuita como herramienta independiente o como parte del kit de herramientas base Intel oneAPI . El kit de herramientas base oneAPI ofrece soporte comercial de pago opcional.
Características
Optimización de la vectorización
La vectorización consiste en la ejecución de instrucciones SIMD (Single Instruction Multiple Data), como Intel Advanced Vector Extensions e Intel Advanced Vector Extensions 512, sobre múltiples objetos en paralelo dentro de un único núcleo de CPU. Esto puede aumentar considerablemente el rendimiento al reducir la sobrecarga de los bucles y optimizar el uso de las múltiples unidades matemáticas de cada núcleo.
Intel Advisor ayuda a encontrar los bucles que se beneficiarán de una mejor vectorización, identificando dónde es seguro forzar la vectorización del compilador. [ 3 ] Admite el análisis de códigos escalares, SSE , AVX , AVX2 y AVX-512 habilitados generados por la autovectorización de compiladores Intel , GNU y Microsoft . También admite el análisis de códigos vectorizados "explícitamente" que usan OpenMP 4.x y versiones posteriores, así como códigos escritos usando intrínsecos vectoriales de C o lenguaje ensamblador . [ 4 ] [ 5 ]
Análisis automatizado de la línea del tejado
Intel Advisor automatiza el modelo de rendimiento Roofline propuesto por primera vez en Berkeley [ 6 ] y ampliado en la Universidad de Lisboa. [ 7 ]

El asesor " Análisis de límite de rendimiento " ayuda a identificar si un bucle o función determinada está limitada por la memoria o la CPU. También identifica bucles suboptimizados que pueden tener un alto impacto en el rendimiento si se optimizan. [ 8 ] [ 9 ] [ 10 ] [ 11 ]
Intel Advisor también proporciona una implementación automatizada de Roofline a nivel de memoria que se asemeja más al modelo clásico de Roofline. El Roofline clásico es especialmente útil para aplicaciones de computación de alto rendimiento limitadas por la DRAM. El Roofline a nivel de memoria de Advisor analiza los datos de la caché y evalúa las transacciones de datos entre las diferentes capas de memoria para ofrecer orientación para la mejora. [ 12 ]
El análisis de techos de Intel Advisor admite código que se ejecuta en CPU o GPU. [ 13 ] [ 14 ] También admite aplicaciones basadas en enteros, que se utilizan ampliamente en aprendizaje automático, dominios de big data, aplicaciones de bases de datos y aplicaciones financieras como las criptomonedas. [ 15 ]
Prototipado de hilos
Los arquitectos de software agregan anotaciones de código para describir el uso de subprocesos, las cuales son comprendidas por Advisor, pero ignoradas por el compilador. Advisor proyecta la escalabilidad del uso de subprocesos y verifica si hay errores de sincronización. La función " Adecuación de subprocesos " de Advisor ayuda a predecir y comparar la escalabilidad SMP paralela y las pérdidas de rendimiento para diferentes diseños de subprocesos posibles. Los informes típicos de Adecuación se muestran en la captura de pantalla de Adecuación de CPU en el lado derecho. Advisor Adecuación proporciona capacidades de modelado del tamaño del conjunto de datos (espacio de iteración) y un desglose de las penalizaciones de rendimiento (exponiendo el impacto negativo causado por el desequilibrio de carga , la sobrecarga de los tiempos de ejecución paralelos y la contención de bloqueos). [ 16 ]

Modelado de descarga
Advisor incorpora una función de modelado del rendimiento mediante descarga de GPU en su versión de 2021. Esta función recopila las características de rendimiento de la aplicación en una plataforma de referencia y crea un modelo analítico de rendimiento para la plataforma de destino (modelada).
Esto proporciona una estimación de la aceleración del rendimiento en las GPU objetivo y estimaciones de la sobrecarga para la descarga, la transferencia de datos y la ejecución de la región de programación, e identifica los cuellos de botella del rendimiento. [ 17 ] [ 18 ] [ 19 ] Esta información puede servir para elegir la estrategia de descarga: seleccionar las regiones a descargar y anticipar la posible reestructuración del código necesaria para que esté listo para la GPU.
Uso por parte del cliente
Intel Advisor es utilizado por Schlumberger , [ 20 ] el laboratorio nacional Sandia y otros [ 21 ] para el diseño y la investigación de algoritmos paralelos y capacidades de Vectorization Advisor que se sabe que son utilizadas por LRZ e ICHEC , [ 22 ] Daresbury Lab , [ 23 ] Pexip. [ 24 ]
El flujo de trabajo paso a paso es utilizado por la comunidad académica con fines educativos. [ 25 ]
Véase también
- Inspector de inteligencia
- Perfilador Intel VTune
- Kit de herramientas base Intel oneAPI
- oneAPI (aceleración de cómputo)
- Zona de desarrolladores de Intel (Intel DZ; soporte y debate)
Referencias
- ↑ "Notas de la versión y nuevas funciones de Intel® Advisor" .
- ↑ "Casos de uso de la línea de comandos" . Intel . Consultado el 5 de enero de 2021 .
- ↑ "Optimizar los aspectos de vectorización de un modelo cardíaco 3D en tiempo real..." Intel . Consultado el 7 de enero de 2021 .
- ↑ "Herramientas de modernización de código HPC" (PDF) .
- ^ "Programa SIMD de análisis de instrumentos nuevos: Asesor de vectorización" . habr.com (en ruso) . Consultado el 5 de enero de 2021 .
- ↑ Williams, Samuel (abril de 2009). "Roofline: Un modelo visual de rendimiento perspicaz para arquitecturas multinúcleo" (PDF) . Universidad de Berkeley . Archivado del original (PDF) el 6 de diciembre de 2016. Consultado el 29 de marzo de 2017 .
- ^ Ilic, Aleksandar. "Modelo Roofline compatible con caché: actualización del loft" (PDF) . Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa .
- ↑ "Análisis de la línea del techo en Intel Advisor 2017: video tutorial de YouTube" . YouTube .
- ↑ "Tutorial paso a paso de Intel Advisor Roofline" .
- ↑ "Uso del modelo Roofline e Intel Advisor, presentado por Sam Williams, autor del modelo de rendimiento Roofline" .
- ↑ "Caso de estudio: SimYog mejora el rendimiento de una herramienta de simulación en 2x con..." Intel . Consultado el 7 de enero de 2021 .
- ↑ "Modelo de límite superior a nivel de memoria con Intel® Advisor" . Intel . Consultado el 5 de enero de 2021 .
- ↑ "Perspectiva de análisis de rendimiento de CPU/memoria" . Intel . Consultado el 5 de enero de 2021 .
- ↑ "Perspectiva de GPU Roofline Insights" . Intel . Consultado el 5 de enero de 2021 .
- ↑ "Modelado de líneas de techo enteras en Intel® Advisor" . Intel . Consultado el 5 de enero de 2021 .
- ↑ "¿Cómo modelar la idoneidad utilizando Advisor XE 2015?" .
- ↑ "Descarga de recursos de modelado para usuarios de Intel® Advisor" . Intel . Consultado el 5 de enero de 2021 .
- ↑ "Identificar regiones de código para descargar a la GPU y visualizar el uso de la GPU (Beta)" . Intel . Consultado el 5 de enero de 2021 .
- ↑ "Perspectiva del modelado de descarga" . Intel . Consultado el 5 de enero de 2021 .
- ↑ "Schlumberger* - Paralelice el software de petróleo y gas con productos de software de Intel" (PDF) .
- ↑ "Estudio de caso de la empresa líder en diseño Advisor XE (PDF) . Archivado del original (PDF) el 16 de abril de 2014.
- ↑ "Diseño de código para paralelismo y descarga con Intel® Advisor" .
- ↑ "Estudio de caso de formulación asistida por computadora: recibiendo ayuda del Asesor de Vectorización" .
- ↑ "Pexip acelera las videoconferencias de nivel empresarial" (PDF) .
- ↑ "Educador de HPC en Supercomputing'2012 con Slippery Rock University" .
Enlaces externos
- Sitio web oficial

- "Obtenga ayuda del asesor de vectorización": estudio de caso de Hartree con referencia a Unilever y otras aplicaciones de CAF.
- Taller de vectorización y ajuste "aixVectorize" en la RWTH. Archivado el 15/10/2017 en Wayback Machine .
- Tutorial de aixVectorize "Modernización de códigos HPC usando Intel (Vectorization) Advisor" archivado el 4 de marzo de 2016 en Wayback Machine.
- aixVectorize Laboratorios y código de ejemplo de aixVectorize Archivado el 22/12/2015 en Wayback Machine
- Schlumberger* - Paralelice el software de petróleo y gas con productos de software de Intel.
- Estudio de caso anónimo de una empresa "líder en diseño" con Advisor XE. Archivado el 16 de abril de 2014 en Wayback Machine.
- Guía del usuario del centro de supercomputación de la Universidad de Kioto sobre el uso de Advisor XE en Linux. Archivada el 16 de abril de 2014 en Wayback Machine.
- Cómo usar Intel® Advisor XE 2015 para modelar la idoneidad en un coprocesador Intel® Xeon Phi™
- Página del producto Intel Inspector
- Depuradores
- Software de Intel
- Software de gestión de memoria