Intel Fortran Compiler , es un grupo de compiladores Fortran de Intel para Windows , OS X y Linux .
Desarrollador (es) | Intel |
---|---|
Lanzamiento estable | 2021.1.2 [1] / 20 de diciembre de 2020 |
Sistema operativo | Linux , Windows , OS X |
Tipo | Compilador |
Licencia | Freeware , soporte prioritario opcional |
Sitio web | software |
Desarrollador (es) | Intel |
---|---|
Versión de vista previa | 2021.1.2 [2] / 20 de diciembre de 2020 |
Sistema operativo | Linux , Windows |
Tipo | Compilador |
Licencia | Freeware , soporte prioritario opcional |
Sitio web | software |
Descripción general
Los compiladores generan código para procesadores IA-32 e Intel 64 y ciertos procesadores que no son de Intel pero son compatibles, como ciertos procesadores AMD . Sigue estando 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. [3] En OS X y Linux, se conoce como Intel Fortran. En 2020, el compilador existente pasó a llamarse “Intel Fortran Classic” (ifort) y se introdujo un nuevo compilador Intel Fortran (beta) (ifx) compatible con la descarga de GPU.
La versión 2021 del compilador Classic agrega soporte completo de Fortran a través del estándar 2018, OpenMP completo * 4.5 e Initial Open MP 5.1 solo para CPU. El compilador beta de 2021 se centra en OpenMP para GPU Offload. Cuando se utiliza con el kit de herramientas Intel HPC (consulte la "Descripción del paquete" a continuación), el compilador también puede generar automáticamente llamadas de interfaz de paso de mensajes para el multiprocesamiento de memoria distribuida desde las directivas OpenMP.
Para obtener más información sobre los estándares de Fortran, hay varios recursos disponibles, como la entrada de Wikipedia Fortran o la página wiki de Fortran . Cuando se utiliza con herramientas de clúster de Intel (consulte la "Descripción del paquete" a continuación), el compilador también puede generar automáticamente llamadas de interfaz de paso de mensajes para el multiprocesamiento de memoria distribuida desde las directivas OpenMP.
Optimizaciones
Los compiladores Intel están optimizados [4] para sistemas informáticos que utilizan procesadores que admiten 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 entre procedimientos (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 usa un alcance más amplio que puede incluir múltiples procedimientos, múltiples archivos o el programa completo. [5]
Con respecto 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 más y menos 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 la 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 la carga 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 de cerca el código fuente. Esto incluye el intercambio de bucle , fusión bucle , desenroscado de bucles , distribución de bucle , de prebúsqueda de datos, y más. [6]
Soporte de estándares
Intel Fortran Compiler Classic es totalmente compatible con Fortran hasta el estándar 2018. El compilador Intel Fortran (Beta) es compatible con Fortran 77/90/95 completo y tiene soporte parcial del 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 la verificación de errores y el análisis del rendimiento. Los contenedores con los compiladores están en Docker Hub.
Historia desde 2003
Versión del compilador | Fecha de lanzamiento | Principales características nuevas |
---|---|---|
Compilador Intel Fortran 8.0 | 15 de diciembre de 2003 | Encabezados precompilados, herramientas de cobertura de código. |
Compilador Intel Fortran 8.1 | Septiembre de 2004 | Arquitectura AMD64 (para Linux). |
Compilador Intel Fortran 9.0 | 14 de junio de 2005 | Arquitectura AMD64 (para Windows), optimización de precálculo especulativo (SSP) basada en software, informes de optimización de bucle mejorados. |
Compilador Intel Fortran 10.0 | 5 de junio de 2007 | Paralelizador y vectorizador mejorados, Streaming SIMD Extensions 4 ( SSE4 ), informes de optimización nuevos y mejorados para transformaciones de bucle avanzadas, nueva implementación optimizada de manejo de excepciones. |
Compilador Intel Fortran 10.1 | 7 de noviembre de 2007 | Nueva biblioteca en tiempo de ejecución de compatibilidad con OpenMP *. Para utilizar las nuevas bibliotecas, debe utilizar la nueva opción "-Qopenmp / Qopenmp-lib: compat" en Windows y "-openmp -openmp-lib: compat" en Linux. Esta versión del compilador Intel admite más elementos intrínsecos de Microsoft Visual Studio 2005. Compatibilidad con VS2008: línea de comandos solo en esta versión. |
Compilador Intel Fortran 11.0 | Noviembre de 2008 | Más soporte para Fortran 2003. Soporte para OpenMP 3.0. Source Checker para memoria estática / diagnósticos en paralelo. Las licencias comerciales para la versión de Windows incluyen Microsoft Visual Studio 2005 Premier Partner Edition. |
Compilador Intel Fortran 11.1 | 23 de junio de 2009 | Soporte para las últimas instrucciones Intel SSE, AVX y AES. Más soporte para Fortran 2003. Compatibilidad con la última versión de Intel MKL (incluida en los productos del compilador). Las licencias comerciales para la versión de Windows incluyen Microsoft Visual Studio 2008 Shell y bibliotecas. |
Intel Fortran Composer XE 2011 hasta la actualización 5 (compilador 12.0) | 7 de noviembre de 2010 | Coarray Fortran, 2003 adicional (subrutinas FINAL, palabra clave GENÉRICA) y 2008 (Coarrays, CODIMENSION, SINCRONIZAR TODO, SINCRONIZAR IMÁGENES, SINCRONIZAR MEMORIA, CRITICAL, LOCK, ERROR STOP, ALLOCATE / DEALLOCATE) |
Intel Fortran Composer XE 2011 Update 6 y superior (compilador 12.1) | 8 de septiembre de 2011 | OpenMP 3.1, 2003 adicional (ASIGNAR con SOURCE =, fuente polimórfica) y compatibilidad con los estándares 2008, la versión de Windows se envía con Visual Studio 2010 Shell. |
Intel Fortran Composer XE 2013 (compilador 13.0) | 5 de septiembre de 2012 | Soporte basado en Linux para coprocesadores Intel Xeon Phi, soporte para Microsoft Visual Studio 12 (escritorio), soporte para gcc 4.7, soporte para instrucciones Intel AVX 2, actualizaciones de la funcionalidad existente enfocadas en brindar un rendimiento mejorado de la aplicación. Disponibilidad continua de las versiones de Visual Studio 2010 Shell para Windows. |
Intel Fortran Composer XE 2013 SP1 (compilador 14.0) | 31 de julio de 2013 | E / S de tipo derivado definido por el usuario; Directivas, cláusulas y procedimientos de OpenMP; coarrays; Soporte de compilación paralela de Microsoft Visual Studio |
Intel Fortran Composer XE 2013 SP1 Update 1 (compilador 14.0.1) | 18 de octubre de 2013 | Localización japonesa de 14.0; Compatibilidad con Windows 8.1 y Xcode 5.0 |
Intel Fortran Composer XE 2015 (compilador 15.0) | 5 de agosto de 2014 | Soporte completo para Fortran 2003; BLOQUE de Fortran 2008; EXECUTE_COMMAND_LINE de Fortran 2008; El nuevo informe de optimización anota la fuente desde Visual Studio [7] |
Intel Fortran Composer XE 2015 Update 1 (compilador 15.0.1) | 30 de octubre de 2014 | Soporte AVX-512 ; Localización japonesa; Reducciones MIN / MAX en la directiva de bucle SIMD |
Compilador Intel Fortran 16.0, parte de Intel Parallel Studio XE 2016 | 25 de agosto de 2015 | Submódulos de Fortran 2008, interoperabilidad mejorada de Fortran con C del borrador de Fortran 2018, extensiones de OpenMP 4.1 |
Compilador Intel Fortran 17.0 | 4 de marzo de 2016 | Extensiones OpenMP 4.5 |
Compilador Intel Fortran 18.0 | 17 de enero de 2017 | Soporte completo de Fortran 2008 |
Compilador Intel Fortran 19.0 | 12 de septiembre de 2018 | Algunas características de Fortran 2018 |
Compilador Intel Fortran Classic 2021.1.1 | 8 de diciembre de 2020 | Soporte completo de Fortran 2018, OpenMP 4.5 y Open MP 5.1 inicial solo para CPU |
Compilador Intel Fortran (Beta) 2021.1.1 | 8 de diciembre de 2020 | Compatibilidad con OpenMP * 4.5 y OpenMP inicial para la descarga de CPU y GPU |
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). Las banderas para compilar con información de depuración son / Zi en Windows y -g en Linux. La depuración se realiza en Windows con el depurador de Visual Studio y en Linux con gdb.
Si bien el compilador de Intel puede generar una salida de generación de perfiles compatible con gprof , Intel también proporciona un generador de perfiles estadístico de 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 generador de perfiles VTune, existe Intel Advisor que se especializa en optimización de vectorización y herramientas para el diseño de subprocesos y la 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 fugas de memoria , corrupción de memoria, asignación / desasignación de desajustes de API y uso inconsistente de API de memoria. Con respecto a los errores de subprocesos, ayuda a detectar carreras de datos (tanto en el montón como en la pila), puntos muertos y errores de API de sincronización y subprocesos.
Ver también
- Intel Parallel Studio XE
- Primitivas de rendimiento integradas de Intel (IPP)
- Biblioteca de aceleración de análisis de datos de Intel (DAAL)
- Biblioteca Intel Math Kernel (MKL)
- Bloques de creación de subprocesos de Intel (TBB)
- Amplificador VTune
- Compilador Intel C ++
- Intel Developer Zone (Intel DZ; soporte y discusión)
Referencias
- ^ "Compilador Intel® Fortran para notas de la versión oneAPI" . Intel . Consultado el 28 de diciembre de 2020 .
- ^ "Notas de la versión del compilador Intel® Fortran para oneAPI" . Intel . Consultado el 28 de diciembre de 2020 .
- ^ "Intel Visual Fortran Compiler Professional Edition para Windows" . cnet.com .
- ^ "Intel (Fortran, C y C ++)" . NERSC.gov .
- ^ Documentación del compilador Intel. Seleccione el compilador de Fortran que prefiera y busque Optimización guiada por perfiles. http://software.intel.com/en-us/intel-software-technical-documentation
- ^ El libro de cocina 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
- ^ "Intel Visual Fortran 15 ya está disponible" .
enlaces externos
- Página web oficial