stringtranslate.com

Asesor Intel

Intel Advisor (también conocido como " Advisor XE ", " Vectorization Advisor " o " Threading Advisor ") es una herramienta de análisis y asistencia de diseño para vectorización SIMD , subprocesamiento, uso de memoria y optimización de descarga de GPU. La herramienta es compatible con 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 el 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 básico Intel oneAPI . El soporte comercial pago opcional está disponible para oneAPI Base Toolkit.

Características

Optimización de vectorización

La vectorización es la operación de instrucciones de datos múltiples de instrucción única (SIMD) (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 del 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 identificar 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 generados por la vectorización automática de los compiladores Intel , GNU y Microsoft . También admite el análisis de códigos vectorizados "explícitamente" que utilizan OpenMP 4.x y posteriores, así como códigos escritos utilizando intrínsecos vectoriales 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 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 del techo " ayuda a identificar si un bucle/función determinado está vinculado a la memoria o a la CPU. También identifica bucles optimizados 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 la línea del techo a nivel de memoria que se acerca más al modelo clásico de la línea del techo. Classical Roofline es especialmente instrumental para aplicaciones informáticas de alto rendimiento vinculadas a DRAM. La línea del techo del nivel de memoria del asesor 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 de techo de Intel Advisor admite código que se ejecuta en CPU o GPU. [13] [14] También admite aplicaciones basadas en números enteros, que se utilizan mucho en aprendizaje automático, dominios de big data, aplicaciones de bases de datos y aplicaciones financieras como criptomonedas. [15]

Creación de prototipos de subprocesos

Los arquitectos de software agregan anotaciones de código para describir subprocesos que Advisor comprende, pero que el compilador ignora. Luego, Advisor proyecta la escalabilidad del subproceso y verifica si hay errores de sincronización. La función " Adecuación " de Advisor Threading ayuda a predecir y comparar la escalabilidad SMP paralela y las pérdidas de rendimiento para diferentes diseños de subprocesos posibles. Los informes de idoneidad típicos se muestran en la captura de pantalla de CPU de idoneidad en el lado derecho. Advisor Suitability proporciona capacidades de modelado del tamaño del conjunto de datos (espacio de iteración) y desglose de penalizaciones de rendimiento (exponiendo el impacto negativo causado por el desequilibrio de carga , la sobrecarga de tiempos de ejecución paralelos y la contención de bloqueo). [dieciséis]

Idoneidad "modelo de CPU"

Descargar modelado

Advisor agrega la función de modelado de rendimiento de descarga de GPU en la versión 2021. Recopila las características de rendimiento de las aplicaciones 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 la velocidad del rendimiento en las GPU de destino y estimaciones de gastos generales para la descarga, la transferencia de datos y la programación de la ejecución de la región e identifica los 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 GPU.

Uso del cliente

Intel Advisor es utilizado por Schlumberger , [20] el laboratorio nacional Sandia y otros [21] para diseño e investigación de algoritmos paralelos y capacidades de Vectorization Advisor que se sabe que utilizan LRZ e ICHEC , [22] Daresbury Lab , [23] Pexip. [24]

El mundo académico utiliza el flujo de trabajo paso a paso con fines educativos. [25]

Ver también

Referencias

  1. ^ "Notas de la versión y nuevas funciones de Intel® Advisor".
  2. ^ "Casos de uso de línea de comandos". Intel . Consultado el 5 de enero de 2021 .
  3. ^ "Optimizar los aspectos de vectorización de un cardíaco 3D 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 revelador para arquitecturas multinúcleo" (PDF) . Universidad de Berkeley .
  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: vídeo instructivo de YouTube". YouTube .
  9. ^ "Tutorial paso a paso de Intel Advisor Roofline".
  10. ^ "Uso de Roofline Model e Intel Advisor, presentado por Sam Williams, autor del modelo de rendimiento Roofline".
  11. ^ "Estudio de caso: SimYog mejora el rendimiento de una herramienta de simulación al doble 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 información sobre la línea del techo de CPU / memoria". Intel . Consultado el 5 de enero de 2021 .
  14. ^ "Perspectiva de conocimientos sobre la línea del techo de la GPU". Intel . Consultado el 5 de enero de 2021 .
  15. ^ "Modelado de líneas de techo enteras en Intel® Advisor". Intel . Consultado el 5 de enero de 2021 .
  16. ^ "¿Cómo modelar la idoneidad con 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 a la GPU y visualizar el uso de la GPU (Beta)". Intel . Consultado el 5 de enero de 2021 .
  19. ^ "Descargar perspectiva de modelado". Intel . Consultado el 5 de enero de 2021 .
  20. ^ "Schlumberger*: Paralelice el software de petróleo y gas con los productos de software Intel" (PDF) .
  21. ^ " Estudio de caso de Advisor XE de la empresa " líder en diseño " (PDF) .
  22. ^ "Código de diseño para paralelismo y descarga con Intel® Advisor".
  23. ^ "Estudio de caso de formulación asistida por computadora: ayuda del Asesor de vectorización".
  24. ^ "Pexip acelera las videoconferencias de nivel empresarial" (PDF) .
  25. ^ "Educador de HPC en supercomputación 2012 con Slippery Rock University".

enlaces externos