Que yo sepa refiriendose al problema de acceso a los datos en la memoria global la GPU necesita entre 200 y 400 ciclos de reloj.
Pero esto ocurre tanto en la GPU como en la CPU, slo que la GPU va tan rápido que los tiempos de acceso se notan más y en vez de conseguir un speedup de x300 lo normal es conseguir solo un x30.
Pero si te las arreglas para que durante ese tiempo de acceso a la memoria global, el procesador esté haciendo otras operaciones aritméticas ese lag se nota cada vez menos. Y si te las arreglas para acceder a datos que estén secuenciales, en vez de hacer hacer accesos discreciones, los tiempos de acceso de optimizan mucho. Pero esto también funciona con las CPUs.
Por otra parte, si se hace uso de la memoria caché de la GPU (la que en el manual de CUDA llama shared) o se juega con texturas (la GPU tiene optimizados los accesos cuando trabaja con texturas) te aseguro que si se pueden conseguir esos x300 de aceleración.
Incluso sin salir de la RAM de la GPU, el ir de una unidad de la GPU a otra (mini-CPU a mini-CPU) es muy lento, debido a la colisión en el bus, pues no hay un pool de buses dedicados (como sí lo hay, por ejemplo, en el Cell, donde puede la comunicación entre SPEs -mini CPUs- va a 25 GB/s, todas operando contra todas, a la vez).
Re:Se va acercando, pero todavía, no.
(Puntos:1)Pero esto ocurre tanto en la GPU como en la CPU, slo que la GPU va tan rápido que los tiempos de acceso se notan más y en vez de conseguir un speedup de x300 lo normal es conseguir solo un x30.
Pero si te las arreglas para que durante ese tiempo de acceso a la memoria global, el procesador esté haciendo otras operaciones aritméticas ese lag se nota cada vez menos. Y si te las arreglas para acceder a datos que estén secuenciales, en vez de hacer hacer accesos discreciones, los tiempos de acceso de optimizan mucho. Pero esto también funciona con las CPUs.
Por otra parte, si se hace uso de la memoria caché de la GPU (la que en el manual de CUDA llama shared) o se juega con texturas (la GPU tiene optimizados los accesos cuando trabaja con texturas) te aseguro que si se pueden conseguir esos x300 de aceleración.
Re:Se va acercando, pero todavía, no.
(Puntos:2)( http://www.voluntariado.net/ | Última bitácora: Domingo, 10 Junio de 2012, 21:48h )