Intel actualiza sus compiladores C++ y Fortran para desarrollo multi-core

11 Jun 2007 en Software

Luego de dos años sin actualización a sus compiladores C++ y Fortran, Intel ha decidido agregar nuevas características para soportar el procesamiento de los programas aprovechando las capacidades de sus procesadores multi-core.
Intel también anunció un paquete dirigido a los estudiantes universitarios o de programación. Este paquete incluye a los dos nuevos compiladores además de sus herramientas de análisis de código fuente Vtune Performance Analyzer, Thread Checker y Thread Profiler.
Las versiones 10.0 de Intel C++ Compiler y Fortran Compiler, ambas en Profesional Edition, optimizan aplicaciones tanto mediante el procesamiento vectorial de instrucciones multimedia, como mediante el procesamiento escalar de aplicaciones multithreading o multi-hilado.
Los compiladores examinan el código buscando puntos oportunos para aplicar multithreading y luego actúan automáticamente. De esta manera, se mejora la performance del código con sólo cargarlo y recompilarlo, sin toques manuales. Esa versión de compiladores también soportará a los venideros procesadores Penryn de Intel. Los compiladores Intel han sido incluidos en el compilador Visual Studio 2005 de Microsoft, aunque eso no sea necesario en la opinión de la gente de Intel, que proponía el uso en Visual Studio de “linker,” un programa que toma objetos generados por el compilador y los ensambla en un mismo ejecutable.
Otras plataformas como Unix, Linux o Macintosh, proveen un linker dentro del sistema operativo. Microsoft es la única que lo ubica como parte de su Visual Studio y para acceder a ese entorno, Intel tuvo que licenciar a ese producto de Microsoft.
Según James Reinder, directivo de Intel, la inclusión de un linker propio de parte de Microsoft, “es una fuente de incompatibilidades.”
En los compiladores C++ y Fortran se ha mejorado la capacidad de paralelismo añadiendo soporte a OpenMP, la API para multiprocesamiento compartiendo memoria que está en uso desde hace ya una década.
Intel también agregó a su Threading Bulding Blocks al compilador C++ para optimizar su paralelismo y, para rutinas de uso científico, incorpora a Math Kernel Library. Respecto a la optimización de la performance en multimedia, se incluye Integrated Performance Primitives (IPP).
Las aplicaciones que más se benefician con estas mejoras presentadas por Intel son las que Reinders denomina “embarazosamente paralelas”
como las científicas, de modelado, física y algunas financieras. En un sistema quad-core, se pueden esperar rendimientos entre 2.5 y cuatro veces superiores respecto a una máquina mono-core.
Las aplicaciones como bases de datos no utilizan demasiado tiempo en un punto determinado. Esas aplicaciones funcionan bien en paralelo pero requerirán, según Reinders, un importante trabajo de codificación manual.