Intel está listo para sacar a Ct del laboratorio - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Intel está listo para sacar a Ct del laboratorio

Hola de nuevo. Yo soy Simón Sánchez y hoy hablaremos sobre Intel está listo para sacar a Ct del laboratorio

Con la llegada de las GPU de uso general, el procesador Cell BE y el próximo chip Larrabee de Intel, la computación en paralelo de datos se ha convertido en el nuevo modelo superior de HPC. Y aunque NVIDIA ha tomado la delantera en esta área con su entorno de lenguaje CUDA, Intel ha estado ocupado trabajando en Ct, su propio entorno de procesamiento de datos en paralelo para la informática de muchos núcleos. En el Intel Developer Forum en Beijing el miércoles, el vicepresidente senior Pat Gelsinger anunció que el proyecto de investigación Ct de la compañía está a punto de convertirse en un producto, con una versión beta programada para finales de este año.

Ct (C / C ++ para la informática de rendimiento) es un entorno de software de alto nivel que admite el paralelismo de datos en las arquitecturas multinúcleo actuales y futuras. Según James Reinders, con quien hablé antes del anuncio de Gelsinger, Ct permite a los científicos y matemáticos construir algoritmos en notación algebraica de apariencia familiar. Lo mejor de todo es que el programador no necesita preocuparse por mapear estructuras de datos y operaciones en núcleos o unidades vectoriales; El alto nivel de abstracción de Ct realiza las asignaciones de forma transparente. La tecnología también proporciona determinismo para evitar carreras y puntos muertos.

«Los dos grandes desafíos en la computación paralela son arreglarlo y hacerlo escalable, y Ct está apuntando directamente a ambos», dijo Reinders.

A diferencia de CUDA, Brook + u OpenCL, Ct proporciona un enfoque de nivel superior para el procesamiento de datos en paralelo, donde los vectores se pueden representar como colecciones de datos regulares o irregulares. Esto permite al programador definir matrices dispersas, árboles, gráficos o conjuntos de asociaciones clave-valor, así como matrices típicas más densas. El lenguaje se implementa como una extensión de C ++ usando la estructura del modelo estándar, por lo que el código heredado se puede expandir para incluir el paralelismo de datos usando nuevos tipos de datos y operadores Ct.

Intel agregará Ct a su creciente cartera de herramientas de desarrollo paralelo, incluida la próxima suite Parallel Studio, los compiladores C / C ++ y Fortran de la compañía, la biblioteca del núcleo matemático, las herramientas de depuración y análisis y el kit de herramientas Intel Cluster. . Ct también será interoperable con Threading Building Blocks (TBB) y la implementación OpenMP de Intel para que el paralelismo a nivel de actividad se pueda superponer al paralelismo de datos de Ct. «Nuestra visión es que usted podría tener TBB coordinando múltiples actividades y esas actividades podrían codificarse usando Ct», explicó Reinders.

Aunque Ct es intrínsecamente independiente del objetivo, asume una arquitectura de CPU de propósito general con suficiente hardware vectorial para hacer útil el cálculo de datos en paralelo. Sin embargo, Ct no admitirá estrictamente arquitecturas SIMD como las GPU NVIDIA y AMD. Inicialmente, esto significa que la primera implementación de Ct se enfocará en chips multinúcleo x86 con capacidades de Streaming SIMD Extensions (SSE). Convenientemente, esto también incluye soporte para silicio AMD x86. Todos los conjuntos de bibliotecas y compiladores actuales de Intel son compatibles con los procesadores AMD y Ct no serán diferentes. A diferencia del lado del hardware de la empresa, los clientes de software de Intel esperan compatibilidad x86 en todas las líneas del negocio.

El plan más amplio para Ct es proporcionar una plataforma que permita a los desarrolladores mover sin problemas su software de los chips multinúcleo actuales a los futuros procesadores de muchos núcleos. Luego, una aplicación escrita para un procesador Nehalem de cuatro núcleos con SSE4 se escalará de manera transparente a un chip Sandy Bridge de ocho núcleos con Advanced Vector Extensions (AVX) y, finalmente, a un procesador Larrabee con su propio conjunto de instrucciones vectoriales nativas.

Además de la compatibilidad con x86, la visión a largo plazo de Ct es poder aplicar la tecnología a una amplia gama de arquitecturas. Una vez más, Intel, el fabricante de chips, no está tan interesado en esto como Intel, el fabricante de software, cuyos clientes están más enfocados en los estándares de la industria que en la lealtad a un silicio específico.

Reinders no está muy seguro de cómo funcionará la compatibilidad con múltiples arquitecturas. Colocar Ct en el ámbito del código abierto, proporcionar API en código e interactuar directamente con las partes interesadas son tres posibilidades. Alternativamente, Ct podría diseñarse para ubicarse en una interfaz de bajo nivel para DirectX u OpenCL, lo que proporcionaría su propio camino hacia la independencia.

Detrás de esto está la demanda de los clientes de un entorno de programación en paralelo con suficiente resistencia para salvar la transición de multinúcleo a muchos núcleos. Hay una gran cantidad de productos de programación paralela disponibles en la actualidad (CUDA, RapidMind, Cilk ++, UPC, etc.), pero los clientes quieren asegurarse de que su software no tenga que ser codificado continuamente en nuevos entornos. La gente recién está comenzando a implementar aplicaciones paralelas en arquitecturas multinúcleo hoy y ya están preocupadas de que su modelo de software actual no sobreviva al viaje a muchos núcleos.

Pero incluso la historia de Ct se vuelve un poco oscura cuando comienzas a hablar de manycore. Larrabee, la primera arquitectura de muchos núcleos x86 de Intel, que casualmente proporciona muchas capacidades de datos en paralelo, no es el enfoque principal de Ct, al menos no todavía. Como informamos el año pasado, la primera implementación de Larrabee se centrará en aplicaciones de computación visual y gráfica, no en aplicaciones de computación técnica más generales (análisis sísmico, análisis financiero, investigación científica, imágenes de alta gama, etc.). Esta apuntado a.

La contradicción aquí es que Larrabee demostró (al menos en pruebas simuladas de Intel) una escala casi perfecta en una gama de aplicaciones de datos paralelas habilitadas para Ct. Sin duda, esto se debe a la solidez de la arquitectura en el procesamiento vectorial, donde cada núcleo incluye una unidad de procesamiento vectorial de 512 bits que puede procesar 16 números de punto flotante de precisión simple a la vez. Pero dado que los primeros productos de Larrabee tendrán las mismas limitaciones de procesamiento genérico que una GPU tradicional, no se planean ofertas iniciales para el servicio HPC.

Por otro lado, Reinders ciertamente espera que los entusiastas de HPC quieran experimentar con Larrabee y estarán interesados ​​en usar Ct como plataforma de software para dicho trabajo. En este punto, sin embargo, Intel no ha decidido cuánto soporte para Larrabee terminará en la versión inicial de Ct. «Creo que podemos esperar ver una respuesta a finales de este año, ya que Larrabee estará disponible», dijo Reinders.

Puedes compartir en una historia de tu Instagram para que tus amigos lo flipen

??? ? ? ???

Comparte