Familiarização do estudante com os conceitos básicos de arquiteturas paralelas e de programação concorrente e com o desenvolvimento de programas concorrentes.
Introdução à programação concorrente: motivação, contexto e objetivos da programação concorrente. Revisão dos principais conceitos de arquiteturas paralelas. Desenvolvimento de aplicações concorrentes: conceitos básicos da programação concorrente, definição, ativação e coordenação de processos, modelos de programação e técnicas de decomposição. Noções básicas sobre escalonamento de processos. Ferramentas de apoio à implementação. Avaliação de desempenho e teste de programas concorrentes.
·Livro Texto: -QUINN, M.J. Parallel Programming in C with MPI and OpenMP, McGraw-Hill,Published 2003, ISBN 0072822562. -GRAMA,A.; KUMAR, U.; GUPTA,A.; KARYPIS, G. Introduction to Parallel Computing, 2nd Edition, 2003, ISBN 0201648652. -SANDERS, J.; KANDROT, E. CUDA by Example: An Introduction to Genneral-Purpose GPU Programming. Addison-Wesley Professional, 2010. ·Bibliografia Complementar: -ALMASI,G.S.; GOTTLIEB,A. Highly Parallel Computing, 2a edição, The Benjamin/Cummings Publishing Company, Inc., 1994. -FOSTER, I. Designing and Building Parallel Programs, Addison-Wesley Publishing Company, 1994. -DONGARRA, J., et al Sourcebook of Parallel Computing¸ Morgan Kaufmann, John Wiley & Sons, 2002, ISBN 1558608710. -LASTOVETSKY, A.L. Parallel Computing on Heterogeneous Networks, 2003. -SCOTT, L.R.; BAGHERI, B., Scientific Parallel Computing, 2005, Princeton University Press.