stringtranslate.com

Compilador Intel Fortran

Intel Fortran Compiler , como parte del kit de herramientas Intel OneAPI HPC, es un grupo de compiladores Fortran de Intel para Windows , macOS y Linux .

Descripción general

Los compiladores generan código para procesadores IA-32 e Intel 64 y ciertos procesadores que no son Intel pero son compatibles, como ciertos procesadores AMD . Sigue disponible una versión específica del compilador (11.1) para el desarrollo de aplicaciones basadas en Linux para procesadores IA-64 ( Itanium 2 ). En Windows, se conoce como Intel Visual Fortran. [2] En macOS y Linux, se conoce como Intel Fortran. En 2020, el compilador existente pasó a llamarse “Intel Fortran Compiler Classic” (ifort) y se introdujo un nuevo compilador Intel Fortran para oneAPI (ifx) que admite la descarga de GPU.

La versión 2021 del compilador Classic agrega compatibilidad total con Fortran a través del estándar 2018, OpenMP* 4.5 completo y Initial Open MP 5.1 solo para CPU. El compilador beta de 2021 se centra en OpenMP para descarga de GPU. Cuando se utiliza con el kit de herramientas Intel OneAPI HPC (consulte la "Descripción del paquete" a continuación), el compilador también puede generar automáticamente llamadas a la interfaz de paso de mensajes para multiprocesamiento de memoria distribuida a partir de directivas OpenMP.

Para obtener más información sobre los estándares de Fortran, hay varios recursos disponibles, como la entrada de Wikipedia sobre Fortran o la página wiki de Fortran.

El paquete Intel Fortran incluía Intel Array Visualizer, una herramienta de visualización para formatos científicos como FITS y netCDF , que puede producir gráficos xy, gráficos de contorno y gráficos de imágenes, y guardarlos en otros formatos. [3] [4]

Optimizaciones

Los compiladores Intel están optimizados [5] para sistemas informáticos que utilizan procesadores compatibles con arquitecturas Intel. Están diseñados para minimizar las paradas y producir código que se ejecute en el menor número posible de ciclos. Los compiladores Intel Fortran admiten tres técnicas independientes de alto nivel para optimizar el programa compilado: optimización interprocedural (IPO), optimización guiada por perfiles (PGO) y otras optimizaciones de alto nivel (HLO).

La optimización entre procedimientos aplica optimizaciones típicas del compilador (como la propagación constante), pero utiliza un alcance más amplio que puede incluir múltiples procedimientos, múltiples archivos o el programa completo. [6]

En cuanto a la optimización guiada por perfiles , el compilador genera un conjunto de datos de información relacionada con el rendimiento a partir del uso de la aplicación con cargas de trabajo representativas, que luego analiza para encontrar qué partes de la aplicación se ejecutan con mayor y menor frecuencia. El compilador utiliza estos datos para organizar la ejecución de la aplicación y optimizar el rendimiento en función de cómo se utiliza realmente la aplicación. Esto contrasta con IPO, que optimiza las aplicaciones de acuerdo con el flujo lógico de la aplicación independientemente de las cargas de trabajo. Los dos se pueden combinar para proporcionar optimizaciones basadas en cargas de trabajo dentro de las cuales se optimiza el flujo lógico. Por lo tanto, todas las optimizaciones pueden beneficiarse de la retroalimentación guiada por perfiles porque dependen menos de la heurística al tomar decisiones de compilación.

Las optimizaciones de alto nivel son optimizaciones realizadas en una versión del programa que representa más fielmente el código fuente. Esto incluye intercambio de bucles , fusión de bucles , desenrollado de bucles , distribución de bucles , captación previa de datos y más. [7]

Soporte de estándares

Intel Fortran Compiler Classic es totalmente compatible con Fortran hasta el estándar 2018. El compilador Intel Fortran (Beta) admite Fortran 77/90/95 completo y admite parcialmente el estándar Fortran 2003.

Arquitecturas

Descripción del embalaje

Los compiladores están disponibles de forma independiente en Intel y en los repositorios APT y Yum. También están disponibles en el kit de herramientas Intel oneAPI HPC, que incluye otras herramientas de compilación, como bibliotecas y herramientas de análisis para verificación de errores y análisis de rendimiento. Los contenedores con los compiladores están en Docker Hub.

Historia desde 2003

Depuración

El compilador Intel proporciona información de depuración que es estándar para los depuradores comunes ( DWARF 2 en Linux, similar a gdb , y COFF para Windows). Los indicadores para compilar con información de depuración son /Zi en Windows y -g en Linux. La depuración se realiza en Windows mediante el depurador de Visual Studio y en Linux mediante gdb.

Si bien el compilador Intel puede generar una salida de perfiles compatible con gprof , Intel también proporciona un perfilador estadístico a nivel de kernel para todo el sistema como un producto separado llamado VTune . VTune presenta una GUI fácil de usar (integrada en Visual Studio para Windows, Eclipse para Linux), así como una interfaz de línea de comandos. Además del perfilador VTune, existe Intel Advisor que se especializa en optimización de vectorización y herramientas para diseño de subprocesos y creación de prototipos.

Intel también ofrece una herramienta para la detección de errores de memoria y subprocesos llamada Intel Inspector XE. Con respecto a los errores de memoria, ayuda a detectar pérdidas de memoria , corrupción de memoria, discrepancias en la asignación/desasignación de API y uso inconsistente de API de memoria. Con respecto a los errores de subprocesos, ayuda a detectar carreras de datos (tanto de montón como de pila), interbloqueos y errores de API de sincronización y subprocesos.

Ver también

Referencias

  1. ^ ab "Notas de la versión del compilador Intel® Fortran para oneAPI". Intel . Consultado el 28 de diciembre de 2020 .
  2. ^ "Intel Visual Fortran Compiler Professional Edition para Windows". cnet.com .
  3. ^ Readey, John (27 de octubre de 2004). Visualizador de matrices Intel. Taller HDF VIII . Consultado el 6 de mayo de 2023 .
  4. ^ "Visualizador de matrices Intel". Zona de desarrolladores Intel . 7 de marzo de 2016. Archivado desde el original el 7 de marzo de 2016 . Consultado el 6 de mayo de 2023 .
  5. ^ "Intel (Fortran, C y C++)". NERSC.gov .
  6. ^ Documentación del compilador Intel. Seleccione el compilador Fortran de su elección y busque Optimización guiada por perfiles. http://software.intel.com/en-us/intel-software-technical-documentation
  7. ^ El libro de recetas de optimización de software, recetas de alto rendimiento para plataformas IA-32, Richard Gerber, Aart JC Bik, Kevin B. Smith y Xinmin Tian, ​​Intel Press, 2006
  8. ^ "Intel Visual Fortran 15 ya disponible".
  9. ^ "Funciones de lenguaje Fortran y OpenMP * implementadas en el compilador Intel® Fortran". Compilador Intel® Fortran. Intel . Consultado el 27 de diciembre de 2021 .
  10. ^ "El próximo capítulo del compilador Intel® Fortran 2023". comunidad.intel.com . 2022-12-21 . Consultado el 13 de febrero de 2023 .

enlaces externos