Introduction to Parallel Computing: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Linha 20: Linha 20:
* MPI
* MPI
* Cuda  
* Cuda  
== Homework ==
=== Project 1 ===
* The class will be divided into interest groups
* The interest groups will each pick one of the following technologies or else propose another one of their liking.
** mapreduce/hadoop
** MPI
** Cuda
** Hybrid technologies (Distributed + Cuda)
** Languages designed for concurrency: [http://golang.org Google Go], Erlang, etc.
** Programming for the Playstation 3 parallel architecture[http://groups.csail.mit.edu/cag/ps3/index.shtml]
* The project will consist in a series of presentations by the group members
individually.
* Grade will be asigned to each presentation individually
=== Project 2 ===
* This project will consist on a practical programming problem from the
student's research. The student is required to describe a problem from his
research and present a parallel implementation of some aspect of it.
* This will be evaluated through actual code and acompanying monograph.


== Main Resources ==
== Main Resources ==
Linha 80: Linha 59:
# MPI
# MPI
# Cuda
# Cuda
== Homework ==
=== Project 1 ===
* The class will be divided into interest groups
* The interest groups will each pick one of the following technologies or else propose another one of their liking.
** mapreduce/hadoop
** MPI
** Cuda
** Hybrid technologies (Distributed + Cuda)
** Languages designed for concurrency: [http://golang.org Google Go], Erlang, etc.
** Programming for the Playstation 3 parallel architecture[http://groups.csail.mit.edu/cag/ps3/index.shtml]
* The project will consist in a series of presentations by the group members
individually.
* Grade will be asigned to each presentation individually
=== Project 2 ===
* This project will consist on a practical programming problem from the
student's research. The student is required to describe a problem from his
research and present a parallel implementation of some aspect of it.
* This will be evaluated through actual code and acompanying monograph.






[[Category:Lab Macambira]] [[Category:IPRJ]]
[[Category:Lab Macambira]] [[Category:IPRJ]]

Edição das 11h52min de 14 de agosto de 2012

This is the main page of a graduate-level course in parallel computing being taught in 2012/2 at the Polytechnic Institute IPRJ/UERJ. It is generally useful for programmers at the advanced level in the fields of scientific and multimedia programming.

General Info

  • Meeting times: Tues 12:30pm-2pm, Thursdays 2:20pm - 4pm
  • Evaluation criteria: 1 quizz at the end of the term (60%), plus practical projects (40%).
  • Forum for file exchange and discussion: uerj.tk

Pre-requisites

Approximate Content

The course focuses on software techniques for parallel computing. We are aiming at a comprehensive treatment on different types of practical parallel programming techniques

  • process-oriented parallel programming
  • thread programming/thread safety
  • single-core vector instructions
  • multi-processor and multi-core programming
  • mapreduce/hadoop
  • MPI
  • Cuda

Main Resources


Lectures

Partial listing & Tentative Outline

  1. Overview of parallel computing: https://computing.llnl.gov/tutorials/parallel_comp/
  2. Review of Linux:
    1. See the book Running Linux http://wiki.nosdigitais.teia.org.br/Literatura_recomendada_pela_equipe
  3. Review of C/C++
  4. Fundamental programming techniques: processes and threads
    1. Read The Unix Programming Environment for some classic multi-process programming[4]
  5. Mapreduce/Hadoop
  6. MPI
  7. Cuda


Homework

Project 1

  • The class will be divided into interest groups
  • The interest groups will each pick one of the following technologies or else propose another one of their liking.
    • mapreduce/hadoop
    • MPI
    • Cuda
    • Hybrid technologies (Distributed + Cuda)
    • Languages designed for concurrency: Google Go, Erlang, etc.
    • Programming for the Playstation 3 parallel architecture[5]
  • The project will consist in a series of presentations by the group members

individually.

  • Grade will be asigned to each presentation individually

Project 2

  • This project will consist on a practical programming problem from the

student's research. The student is required to describe a problem from his research and present a parallel implementation of some aspect of it.

  • This will be evaluated through actual code and acompanying monograph.