Temario
Introducción a CUDA, Ejemplos
Calificaciones:
Num. Ctrl.
|
T1
|
Comentarios
|
T2
|
Comentarios
|
T3
|
Comentarios
|
T4
|
Comentarios
|
eredlaro |
5
|
T1_1-T1_6
|
8
|
T2_1
|
10
|
|
10
|
|
86080704
|
7
|
T1_7-T1_11
|
6
|
T2_2
|
10
|
|
10
|
|
Comentarios:
- T1_1: Al usar C/C++, cuando creamos memoria a un vector de
tamaño N, los indices que recorren al vector van de [0,N-1].
- T1_2: Al mandar a llamar a tu función kernel de esta
manera:
Sum_Vec<<<1,N-1>>>(v_d,s_d);
Se
ejecutan N-1 hilos, entonces dentro de la función kernel, los
indices de threadIdx.x van de [0,N-2]
El
detalle en tu codigo es que estas leyendo la información de tu
vector V en la localidad 0, pero ahí no pusiste información,
entonces este valor puede ser basura o en el mejor caso 0.
- T1_3: El resultado del ejercicio 1b es incorrecto.
- T1_4: En tu ejercicio 2 hay una copia de memoria no
necesaria: cudaMemcpy(C_d,C_h,size,cudaMemcpyHostToDevice);
- T1_5: Tu ejercicio 2 no compila y las funciones kernel
estan mal programadas.
- T1_6: No entregó el reporte.
- T1_7: En el ejercicio 1b, faltó dividir entre dos.
- T1_8: El parámetro alpha solo se pasa como parámetro. No
es necesario crear memoria para este parámetro con
cudaMalloc, ya que solo es un escalar.
- T1_9: Está mal convertido el valor de entera a float:
(float *)x, debe ser: (float )x
- T1_10: Para datos float en el printf hay que poner %f
- T1_11: Tus matrices A_h, B_h y C_h deben ser creadas de
forma estática float A_h[FILAS][COLUMNAS], ya que en tu
asignación usas: A_h[y][x] =
- T2_1: Exposición incompleta, los ejemplos no compilaban.
- T2_2: Exposición incompleta, sin ejemplos.
Proyectos:
Bibliografía:
- Sanders, J., & Kandrot, E. (2010).
CUDA by Example: An Introduction to General-Purpose GPU
Programming, Portable Documents. Addison-Wesley
Professional.
- Kirk, D. B., & Wen-Mei, W. H. (2009).
Programming massively parallel processors: a hands-on
approach. Morgan Kaufmann.
- Cook, S. (2012). CUDA programming: a
developer's guide to parallel computing with GPUs. Newnes.
- Wilt, N. (2013). The cuda handbook: A
comprehensive guide to gpu programming. Pearson Education.
- GPU Technology Conference,
http://www.gputechconf.com/
- Webinars,
https://developer.nvidia.com/gpu-computing-webinars