Paralelismo em Arquiteturas Modernas

Arquitetura de sistemas computacionais contemporâneos, com  ênfase em sistemas com múltiplos processadores,  processadores com múltiplos núcleos, e unidades aritméticas  vetoriais. História dos sistemas gráficos, passando do hardware com funcionalidade fixa para o programável. Programação de cada estágio do sistema gráfico, com ênfase  em aplicações de visualização em tempo real. Arquitetura das  placas de vídeo modernas. Problemas e algoritmos adequados a cada tipo de arquitetura.

Referências:
AKENINE-MÖLLER, T.; Haines, E.; Hoffman, N. Real-Time Rendering 3rd edition, A K Peters, July 2008.
FOG, A. Optimizing software in C++, An optimization guide for Windows, Linux and Mac platforms”, February 2012.
FOG, A. Optimizing subroutines in assembly language: An optimization guide for x86 platforms”, February 2012.
KESSENICH, J. (editor) “The OpenGL Shading Language” (Language version 4.20), August 2011.
KIRK, D. B.; HWU, W. W.; “Programming Massively Parallel Processors: A Hands-on Approach”, Burlington, MA: Morgan Kaufmann Publishers, 2010.
MUNSHI, A. (editor) “The OpenCL Specification” (Version 1.2), November 2011.
NVIDIA CUDA C Programming Guide (Version 4.2), April 2012.
OpenMP Application Program Interface (Version 3.1), July 2011.
SEGAL, M.; AKELEY, K. “The OpenGL Graphics System: A Specification” (Version 4.2, Core Profile), August 2011
.

Obs: Esta disciplina é oferecida como disciplina de mestrado. No doutorado, ela possui exigências adicionais.

 

* Ementa básica. O professor tem autonomia para efetuar qualquer alteração.