¿Qué modelo teórico paralelo es el más cercano a CUDA?


8

¿Qué modelo teórico paralelo es más cercano al modelo de programación CUDA / OpenCL?

Por ejemplo, se ajusta en cierto grado al modelo genérico de Máquina de acceso aleatorio paralelo (PRAM). Sin embargo, eso es demasiado genérico, ya que hace abstracción de varias latencias de acceso a memoria y problemas de sincronización.

Mi pregunta es cuál es el modelo teórico en el que la arquitectura CUDA se ajusta más (teniendo en cuenta el paralelismo jerárquico de hilos y bloques de hilos que cooperan).

Respuestas:


6

Que yo sepa, puede ser el modelo de Memoria compartida en cola (QSM) , aunque el paralelismo jerárquico de los subprocesos no se tenga en cuenta. Sin embargo, se consideran los accesos a la memoria local y a la memoria global (ancho de banda diferente) y la sincronización masiva (en la que los subprocesos pueden funcionar de forma asincrónica entre sincronizaciones de barrera).


1

Dado que todos los SM ejecutan la misma instrucción desde el núcleo de CUDA en bloque, diría que es SIMD antiguo.


Bueno, diferentes SM pueden ejecutar diferentes instrucciones, ¿verdad? Dentro de un único SM, todos los hilos de una urdimbre ejecutan la misma instrucción ... pero incluso diferentes urdimbres dentro del mismo bloque pueden divergir sin ninguna penalización. Dicho esto, SIMD habría sido mi respuesta también, aunque por la granularidad de la deformación, no SM o incluso el bloqueo.
Patrick87

Encontré que esto se lee hoy en la ejecución de GPU basada en la instrucción única-hilo múltiple (SIMT) Citado de J. Nickolls, I. Buck, M. Garland y K. Skadron, Programación en paralelo escalable con CUDA, Cola 6, 2 ( Marzo de 2008), 40-53
usuario2251346
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.