stringtranslate.com

Asesor de Intel

Intel Advisor (también conocido como " Advisor XE ", " Vectorization Advisor " o " Threading Advisor ") es una herramienta de asistencia y análisis de diseño para la vectorización SIMD , subprocesamiento, uso de memoria y 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 en forma de herramienta GUI independiente, complemento de Microsoft Visual Studio o interfaz de línea de comandos. [2] Es compatible con 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 . Hay disponible soporte comercial pago opcional para el kit de herramientas base oneAPI.

Características

Optimización de la vectorización

La vectorización es la operación de instrucciones SIMD (Instrucción única, múltiples datos) (como Intel Advanced Vector Extensions e Intel Advanced Vector Extensions 512) en múltiples objetos en paralelo dentro de un solo núcleo de CPU. Esto puede aumentar considerablemente el rendimiento al reducir la sobrecarga de bucle y hacer un mejor uso de las múltiples unidades matemáticas en cada núcleo.

Intel Advisor ayuda a encontrar los bucles que se beneficiarán de una mejor vectorización e identifica 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 vectorización automática de compiladores Intel , GNU y Microsoft . También admite el análisis de códigos vectorizados "explícitamente" que utilizan OpenMP 4.x y versiones posteriores, así como códigos escritos utilizando intrínsecos vectoriales de C o lenguaje ensamblador . [4] [5]

Análisis automatizado de la línea del techo

Intel Advisor automatiza el modelo de rendimiento Roofline propuesto por primera vez en Berkeley [6] y ampliado en la Universidad de Lisboa. [7]

Automatización del modelo de rendimiento de Roofline integrada con otras funciones de Intel Advisor. Cada círculo corresponde a un bucle o función.

El asesor " Análisis de la línea de techo " ayuda a identificar si un bucle o función dado está limitado por la memoria o por la CPU. También identifica bucles poco optimizados que pueden tener un gran 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 acerca más al modelo Roofline clásico. El Roofline clásico es especialmente útil para aplicaciones informáticas de alto rendimiento que están limitadas por DRAM. El Roofline a nivel de memoria de Advisor analiza los datos de la caché y evalúa las transacciones de datos entre diferentes capas de memoria para proporcionar orientación para la mejora. [12]

El análisis de la línea del techo de Intel Advisor admite el código que se ejecuta en la CPU o la GPU. [13] [14] También admite aplicaciones basadas en números enteros, que se utilizan ampliamente en el aprendizaje automático, los dominios de big data, las aplicaciones de bases de datos y las aplicaciones financieras como las criptomonedas. [15]

Prototipado mediante subprocesamiento

Los arquitectos de software añaden anotaciones de código para describir el subprocesamiento que Advisor entiende, pero que el compilador ignora. Luego, Advisor proyecta la escalabilidad del subprocesamiento y comprueba si hay errores de sincronización. La función " Idoneidad " del subprocesamiento de Advisor ayuda a predecir y comparar la escalabilidad de SMP paralela y las pérdidas de rendimiento para diferentes diseños de subprocesamiento posibles. Los informes de idoneidad típicos se muestran en la captura de pantalla de la CPU de idoneidad en el lado derecho. La idoneidad de Advisor proporciona capacidades de modelado del tamaño del conjunto de datos (espacio de iteración) y 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 bloqueo). [16]

Adecuación del "modelo de CPU"

Modelado de descarga

Advisor agrega la función de modelado de rendimiento de descarga de GPU en la versión 2021. Recopila características de rendimiento de la aplicación en una plataforma de referencia y crea un modelo de rendimiento analítico para la plataforma de destino (modelada).

Esto proporciona una estimación de aceleración del rendimiento en las GPU de destino y estimaciones de sobrecarga para la descarga, la transferencia de datos y la programación de la ejecución de la región y señala cuellos de botella en el rendimiento. [17] [18] [19] Esta información puede servir para elegir la estrategia de descarga: seleccionar regiones para descargar y anticipar la posible reestructuración del código necesaria para que esté listo para la GPU.

Uso 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 las capacidades de Vectorization Advisor son conocidas por ser utilizadas por LRZ e ICHEC , [22] Daresbury Lab , [23] Pexip. [24]

El flujo de trabajo paso a paso se utiliza en el ámbito académico con fines educativos. [25]

Véase también

Referencias

  1. ^ "Notas de la versión y nuevas funciones de Intel® Advisor".
  2. ^ "Casos de uso de la línea de comandos". Intel . Consultado el 5 de enero de 2021 .
  3. ^ "Optimizar los aspectos de vectorización de un análisis cardíaco tridimensional en tiempo real..." Intel . Consultado el 7 de enero de 2021 .
  4. ^ "Herramientas de modernización de código HPC" (PDF) .
  5. ^ "Programa SIMD de análisis de instrumentos nuevos - Asesor de vectorización". habr.com (en ruso) . Consultado el 5 de enero de 2021 .
  6. ^ Williams, Samuel (abril de 2009). "Roofline: un modelo de rendimiento visual perspicaz para arquitecturas multinúcleo" (PDF) . Universidad de Berkeley . Archivado desde el original (PDF) el 2016-12-06 . Consultado el 2017-03-29 .
  7. ^ 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 .
  8. ^ "Análisis de la línea del techo en Intel Advisor 2017: video instructivo de YouTube". YouTube .
  9. ^ "Tutorial paso a paso de Intel Advisor Roofline".
  10. ^ "Uso del modelo Roofline e Intel Advisor, presentado por Sam Williams, autor del modelo de rendimiento Roofline".
  11. ^ "Estudio de caso: SimYog duplica el rendimiento de una herramienta de simulación con..." Intel . Consultado el 7 de enero de 2021 .
  12. ^ "Modelo de línea de techo a nivel de memoria con Intel® Advisor". Intel . Consultado el 5 de enero de 2021 .
  13. ^ "Perspectiva de la línea de techo de CPU/memoria". Intel . Consultado el 5 de enero de 2021 .
  14. ^ "Perspectiva de GPU Roofline Insights". Intel . Consultado el 5 de enero de 2021 .
  15. ^ "Modelado de líneas de techo de enteros en Intel® Advisor". Intel . Consultado el 5 de enero de 2021 .
  16. ^ "¿Cómo modelar la idoneidad utilizando Advisor XE 2015?".
  17. ^ "Descarga de recursos de modelado para usuarios de Intel® Advisor". Intel . Consultado el 5 de enero de 2021 .
  18. ^ "Identificar regiones de código para descargar en la GPU y visualizar el uso de la GPU (versión beta)". Intel . Consultado el 5 de enero de 2021 .
  19. ^ "Perspectiva de modelado de descarga". Intel . Consultado el 5 de enero de 2021 .
  20. ^ "Schlumberger* - Paralelizar el software de petróleo y gas con los productos de software Intel" (PDF) .
  21. ^ "Estudio de caso de la empresa "líder en diseño" Advisor XE" (PDF) .[ enlace muerto permanente ]
  22. ^ "Código de diseño para paralelismo y descarga con Intel® Advisor".
  23. ^ "Estudio de caso de formulación asistida por computadora: obteniendo ayuda del asesor de vectorización".
  24. ^ "Pexip acelera las videoconferencias de nivel empresarial" (PDF) .
  25. ^ "Educador de HPC de Supercomputing'2012 con Slippery Rock University".

Enlaces externos