Professional Documents
Culture Documents
en procesadores grficos
GPGPU @ CABIB
GPGPU @ CABIB
Icnpg (2015)
(1)
2/3
GPGPU @ CABIB
Icnpg (2015)
2. Determine del espectro de potencias de cada componente (usando un kernel o un algoritmo de Thrust para la
transformacin). Identifique en los mismos la frecuencia correspondiente al perodo de oscilacin del pndulo
y estime con este la aceleracin de la gravedad.
2T tRi (t)
(3)
con i = 0, ..., N 1, y t el paso de tiempo. El ultimo termino representa una fuerza aleatoria o ruido trmico, con
el parmetro T representando la temperatura. Ri (t) se elije como un nmero aleatorio distribuido Gaussianamente,
con media cero y dispersin uno. Ri (t) tiene que estar descorrelacionado para distintas partculas (i.e. distintos
ndices i) y tambin para distintos tiempos t. Consideraremos condiciones peridicas en el intervalo [0, 1], es decir,
que las partculas se mueven en un anillo de permetro igual a 1, y tambin una funcin peridica F (X) en el mismo
intervalo.
Para fijar ideas, fijaremos primero como condicin inicial Xi (0) = 0, i (i.e. todas las partculas inicialmente en
el origen) y F (x) = x V (x), con
1
V (x) = sin(2x) + sin(4x)
(4)
4
1. Es la dinmica estocstica de partculas de la Ec.3 fcilmente paralelizable?. Porque?.
2. Simule en la gpu el movimiento de un numero grande N de tales partculas, completando los TODO en el
template de cdigo provisto g3ej3.cu, para un nmero suficientemente grande de iteraciones temporales.
3. Cada varios pasos, calcule y guarde un histograma normalizado de las posiciones de las partculas, completando
el template de cdigo provisto. Dibuje estos histogramas (opcionalmente, haga una pelcula de la evolucin de
los histogramas), y verifique la convergencia a una solucin estacionaria a tiempos largos.
4. Compare las performances del cdigo compilado para gpu y para cpu multicore (el Makefile genera ambas
simultneamente a partir del mismo fuente, usando Thrust backends).
5. Si complet exitosamente los dos pasos anteriores felicitaciones!: Ud acaba de resolver, usando slo partculas!
(sin grillas, ni aproximaciones a las derivadas, etc), la siguiente ecuacin diferencial no trivial:
t P (x, t) = T x2 P (x, t) + x [x V (x)P (x, t)].
(5)
en funcin del tiempo, con condiciones de contorno peridicas en el intervalo [0, 1], i.e. P (0, t) = P (1, t),
ya que los histogramas normalizados calculados con las partculas brownianas pueden identificarse con P (x, t).
Uno podra comparar a todo tiempo la solucin numrica o analtica de Ec. 5 con la obtenida con partculas.
Sin embargo, por simplicidad compare solo el histograma normalizado de las partculas para un tiempo muy
grande, con la solucin analtica estacionaria de la Ec. 5, dada por
P (x, t ) eV (x)/T .
(6)
Verifique este resultado para diferentes condiciones iniciales (por ejemplo uniforme en [0,1], etc.), "temperaturas" T , y tambin potenciales V (x) peridicos en [0,1]. Cual mtodo le parece mas paralelizable, el de
simular partculas, o el de resolver la ecuacin diferencial?. Cual ser el ms eficiente computacionalmente?.
Discuta.
3/3