Quantcast
Channel: C++ – MadBoxpc.com

Microsoft publica especificaciones de C++ AMP

0
0

Actualmente la computación paralela heterogénea (heterogeneous parallel processing) está tomando una relevancia muy importante en las tareas de cómputo, tanto a gran escala con grandes supercomputadores, como a menor escala en nuestros propios computadores a través de procesadores multi-núcleo y GPUs, es por eso que Microsoft ha anunciado algunas especificaciones de su C++ AMP (C++ Accelerated Massive Parallelism).

C++ AMP, para quienes no se hayan enterado es una tecnología de desarrollo basada en C++, anunciada por primera vez en junio de año pasado en el marco de la AMD Fusion Developer Summit 2011 y que Microsoft ha implementado en su herramienta de programación VisualStudio 11, el cual pretende ser una ayuda a los desarrolladores para usar aceleradores como GPU y CPUs Multi-núcleos para programación paralela.

Así, hace algunos días en el evento GoingNative 2012, Microsoft anunció la publicación, bajo la “Microsoft Community Promise license”, de las especificaciones abiertas para C++ AMP. Este lanzamiento significa que los desarrolladores pueden ahora implementar C++ AMP en sus compiladores. La ventaja es que esta API es tal como lo leyeron “abierta” por lo que eventualmente puede atraer más fácilmente la atención de los desarrolladores y se pueden ir perfeccionando en virtud de esto.

AMP ha sido desarrollado por Microsoft con cierta colaboración de AMD y NVIDIA, por lo que podrán imaginarse que los productos de ambas compañías (GPUS) podrán potenciar las aplicaciones desarrolladas con C++ AMP a través del la API DirectCompute de Microsoft DirectX, aunque las especificaciones publicadas por Microsoft también permiten la implementación de estándares abiertos como OpenGL/OpenCL, lo que es una avance desde el punto de vista de la interoperabilidad, aunque en teoría C++ AMP eventualmente es un competidor de OpenCL (basada en C), que también es un estándar abierto y destinado a computación paralela heterogénea.

Microsoft en todo caso afirma que C++ AMP, es mucho mas practico y fácil de trabajar que OpenCL, por cuanto simplifica el desarrollo basado en GPU y CPU, a diferencia de OpenCL que disgrega el desarrollo si se trata de aplicaciones para GPU o CPU.

El soporte de C++ AMP, lógicamente no sólo se limita a los GPUs de NVIDIA y AMD, también es compatible con CPU multi-núcleo y otras arquitecturas de cómputo.

[Microsoft] vía [arstechnica]


AMD anuncia lenguaje heterogéneo C ++ AMP 1.2 para desarrolladores

0
0

C++_AMP

Desde hace tiempo AMD, NVIDIA y Microsoft han estado impulsando un lenguaje de programación que potencia el cómputo paralelo en una serie de arquitecturas de cómputo como CPU multi-núcleos y GPU con gran capacidad de cómputo paralelo y en este sentido el lenguaje C++ AMP (Accelerated Massive Parallelism) ha ido pavimentando el camino para aprovechar al máximo las capacidades de las CPUs y GPUs actuales.

Breve Reseña

Antes de continuar con la nota les haremos una breve reseña sobre C++ AMP. Este es un lenguaje de programación y desarrollo basado en C++, anunciado por primera vez en junio de 2011 en el marco de la AMD Fusion Developer Summit 2011 y que Microsoft ha implementado en su herramienta de programación VisualStudio 11 y posteriores. Este lenguaje pretende ser una ayuda a los desarrolladores para usar aceleradores como GPU y CPUs Multi-núcleos para programación paralela.

AMP ha sido desarrollado por Microsoft en colaboración de AMD y NVIDIA, por lo que productos de ambas compañías (GPUS) podrán potenciar las aplicaciones desarrolladas con C++ AMP a través del la API DirectCompute de Microsoft DirectX, aunque las especificaciones publicadas por Microsoft también permiten la implementación de estándares abiertos como OpenGL/OpenCL.

Lo anterior es un avance desde el punto de vista de la interoperabilidad, aunque en teoría C++ AMP eventualmente es un competidor de OpenCL (basada en C), que también es un estándar abierto y destinado a computación paralela heterogénea.

 

Anuncio de AMD

AMD en colaboración con Microsoft ha anunciado el lanzamiento de C ++ AMP versión 1.2, un compilador C++ de código abierto que implementa la versión 1.2 de la especificación abierta para C ++ AMP, disponible por primera vez tanto en Linux y Windows.

El lanzamiento representa otro paso adelante hacia la meta de AMD de apoyar soluciones multiplataforma, múltiples lenguajes de programación y continúa con las contribuciones a la comunidad de código abierto. La herramienta, que aprovecha Clang y LLVM, acelera la productividad y facilidad de uso para los desarrolladores que deseen aprovechar toda la potencia de las plataformas se servidores heterogéneos, PCs y dispositivos de mano.

C ++ AMP versión 1.2 permite a los desarrolladores de C ++ acelerar las aplicaciones a través de un amplio conjunto de configuraciones de hardware y software mediante el apoyo a tres salidas:

Khronos Group OpenCL, soportando CPU AMD/APU/GPU, CPU/APU Intel, NVIDIA GPU, Apple Mac OS X y otras plataformas compatibles con OpenCL.
Khronos Group SPIR, soportando CPU AMD/APU/GPU, CPU/APU Intel y futuras plataformas compatibles SPIR; y
HSA Fundación HSAIL, soportando APU AMD y futuras plataformas compatibles con HSA.

Una característica clave de rendimiento de la versión 1.2, es la especificación de código abierto C ++ AMP, soporte para memoria física compartida, lo que simplifica enormemente el intercambio de datos entre la CPU y la GPU en plataformas heterogéneas.

Las Plataformas heterogéneas construidas en la nueva especificación permite a los programadores beneficiarse de la sobrecarga minimizada de copias de datos al acelerar las aplicaciones

 

[Comunicado AMD]

 





Latest Images