Академический Документы
Профессиональный Документы
Культура Документы
2. Presentacin
El contenido del programa lleva al estudiante a familiarizarse con los procesadores grficos, sus
arquitectura, funcionamiento bsico y modos de programacin; finalmente le presenta aplicaciones
comunes en el rea del procesamiento digital de imgenes.
Con la organizacin del proceso de aprendizaje en esta materia, se pretende tambin que el alumno
tenga la capacidad de aplicar sus conocimientos a la prctica y desarrolle la habilidad de auto-
aprendizaje.
1
El enfoque sugerido para la materia requiere que las actividades prcticas promuevan el desarrollo
de habilidades para la experimentacin, tales como: identificacin, manejo y control de variables
y datos relevantes; planteamiento de hiptesis; trabajo en equipo; asimismo, propicien procesos
intelectuales como induccin-deduccin y anlisis-sntesis con la intencin de generar una
actividad intelectual compleja; por esta razn varias de las actividades prcticas se han descrito
como actividades previas al tratamiento terico de los temas, de manera que no sean una mera
corroboracin de lo visto previamente en clase, sino una oportunidad para conceptualizar a partir
de lo observado. En las actividades prcticas sugeridas, es conveniente que el profesor busque
slo guiar a sus alumnos para que ellos hagan la eleccin de las variables a controlar y registrar.
Para que aprendan a planificar, que no planifique el profesor todo por ellos, sino involucrarlos en
el proceso de planeacin.
La lista de actividades de aprendizaje no es exhaustiva, se sugieren sobre todo las necesarias para
hacer ms significativo y efectivo el aprendizaje. Algunas de las actividades sugeridas pueden
hacerse como actividad extra clase y comenzar el tratamiento en clase a partir de la discusin de
los resultados de las observaciones.
Se busca partir de experiencias concretas, cotidianas, para que el estudiante reconozca los
fenmenos fsicos en su alrededor y no slo se hable de ellos en el aula. Es importante ofrecer
escenarios distintos, ya sean construidos, artificiales, virtuales o naturales.
Es necesario que el profesor ponga atencin y cuidado en estos aspectos en el desarrollo de las
actividades de aprendizaje de esta asignatura.
2
5. Temario
Temas
Subtemas
No. Nombre
1.1 Fundamentos de apuntadores
1.2 Asignacin dinmica de memoria
1 Programacin secuencial en CPU
1.3 Apuntadores como parmetros a funciones
1.4 Procesamiento de imgenes utilizando
apuntadores sin libreras: Filtrado, Segmenta-
cin y Clasificacin
2.1 Threads (Hilos) y cooperacin entre estos
2.2 API OpenMP y su terminologa
2 Programacin paralela en CPU
2.3 Compilacin de cdigo utilizando OpenMP
2.4 Procesamiento de imgenes utilizando la
API OpenMP: Filtrado, Segmentacin y Clasi-
ficacin
3.1 Introduccin a GPUs y CUDA
3.2 GPU y GPGPU
3 Programacin heterognea (hbrida)
3.3 Arquitecturas basadas en GPUs
3.4 Entorno de desarrollo CUDA
4.1 Manejo de la memoria
4.2 Kernels e indexado
Principios y conceptos de programacin
4 4.3 Hilos y Bloques
CUDA
4.4 Cooperacin entre hilos
4.5 Libreras
5.1 Cdigo CUDA (.cu)
5.2 Modo consola
5 Estructura de los programas CUDA
5.3 Modo grfico (OpenGL)
6.1 Filtrado de ruido
Procesamiento de imgenes utilizando
6 6.2 Segmentacin (Agrupamiento Difuso)
un sistema hbrido
6.3 Clasificacin (Redes Neuronales)
3
6. Actividades de aprendizaje
Genricas
4
Programacin heterognea (hbrida) 3.1 Investigar y analizar conceptos
relacionados a la paralelizacin de algoritmos
mediante procesadores grficos
3.2 Conocer la arquitectura de los procesadores
grficos y sus entornos de desarrollo
Principios y conceptos de programacin CUDA 4.1 Conocer los recursos de un procesador
grfico
4.2 Analizar y comprender la relacin entre el
nmero de hilos y los bloques
4.3 Conocer las librerias acelaradas provistas
por NVIDIA para aplicaciones cientficas
(cuDNN, Geometry Performance Primitives
(GPP), ArrayFire y OpenCV)
Estructura de los programas CUDA 5.1 Describir un sistema hbrido CPU+GPU
5.2 Conocer la estructura de un cdigo CUDA
5.3 Conocer la implementacin de aplicaciones
en modo consola
5.4 Conocer la implementacin de aplicaciones
en modo grfico
Procesamiento de imgenes utilizando un 6.1 Implementar el filtrado de imgenes
sistema hbrido utilizando CUDA y libreras especializadas
6.2 Implementar la Segmentacin
(Agrupamiento Difuso) de imgenes utilizando
CUDA y libreras especializadas
6.3 Implementar la Clasificacin (Redes
Neuronales) de imgenes utilizando CUDA y
libreras especializadas
5
7. Prcticas
8. Proyecto integrador
Los alumnos conformarn equipos de trabajo para proponer y presentar un proyecto donde se
sustente el uso de una aplicacin cientfica paralelizada.
La evaluacin debe ser diagnstica, formativa y sumativa por lo que se debe considerar el desem-
peo en cada una de las actividades de aprendizaje, haciendo especial nfasis en:
6
10. Sugerencia de evaluacin
1. Exmenes: 40%
11. Bibliografa
4. Gregory, K., & Miller, A. (2014). C++ AMP: accelerated massive parallelism with Microsoft
Visual C++.
5. Cai, Y., & See, S. (Eds.). (2015). GPU Computing and Applications. Springer.
6. Cook, S. (2012). CUDA programming: a developers guide to parallel computing with
GPUs. Newnes.