por
pobrecito hablador
el Jueves, 08 Agosto de 2013, 17:16h
(#1344316)
Creo que querías decir ni OpenMP ha sustituido a la programación multithread manual, ni OpenACC sustituirá a OpenCL
Lo que quería decir es que uno no sustituirá al otro. He escrito la dirección CUDA -> OpenACC porque es de la que hablaba al que he respondido, pero la idea es que son dos cosas diferentes que cubren necesidades diferentes. No están diseñadas para sustituir la una a la otra ni mucho menos.
Respecto al soporte de PGI y OpenACC, tenía entendido que los únicos que actualmente dan un soporte completo (y decente) al estándar son los del PGI. Si no es así, pues mejor.
Lo del estándar único, totalmente de acuerdo. Lo ideal sería que quedase OpenCL para programar en detalle y OpenMP para paralelizar con directivas. Desde el punto de vista del programador, es lo más cómodo. Como si no tuviese bastante enjundia el tema de paralelizar como para encima andar pegándose con 12 estándares para lo mismo...
por
pobrecito hablador
el Jueves, 08 Agosto de 2013, 17:50h
(#1344320)
Yo también creía que PGI era el único que implementaba OpenACC, pero buscando en la web he dado con CAPS Compilers [caps-entreprise.com]. Lo bueno es que implementa OpenACC y OpenHMPP. Es un compilador source-to-source, que genera código tanto para NVIDIA como para AMD, además de las Xeon Phi (creo que PGI sólo está para NVIDIA). Lo que no sé es qué tal funciona, ya que nunca lo he utilizado.
Re:CUDA
(Puntos:0)Lo que quería decir es que uno no sustituirá al otro. He escrito la dirección CUDA -> OpenACC porque es de la que hablaba al que he respondido, pero la idea es que son dos cosas diferentes que cubren necesidades diferentes. No están diseñadas para sustituir la una a la otra ni mucho menos.
Respecto al soporte de PGI y OpenACC, tenía entendido que los únicos que actualmente dan un soporte completo (y decente) al estándar son los del PGI. Si no es así, pues mejor.
Lo del estándar único, totalmente de acuerdo. Lo ideal sería que quedase OpenCL para programar en detalle y OpenMP para paralelizar con directivas. Desde el punto de vista del programador, es lo más cómodo. Como si no tuviese bastante enjundia el tema de paralelizar como para encima andar pegándose con 12 estándares para lo mismo...
Re:CUDA
(Puntos:0)