csci6702 parallel computing andrew rau-chaplin

10
CSci6702 Parallel Computing Andrew Rau-Chaplin [email protected] www.cs.dal.ca/~arc

Upload: buck-simpson

Post on 18-Jan-2018

227 views

Category:

Documents


1 download

DESCRIPTION

Topics Introduction to Parallelism Parallel Programming Parallel Architectures Parallel Algorithms Parallel Applications Other Parallel Architectures & Algorithms

TRANSCRIPT

Page 1: CSci6702 Parallel Computing Andrew Rau-Chaplin

CSci6702Parallel Computing

Andrew [email protected]

www.cs.dal.ca/~arc

Page 2: CSci6702 Parallel Computing Andrew Rau-Chaplin

Course Objectives Understand Parallel

Architectures Systems Algorithms

Learn how to Design efficient parallel algorithms,

and Implement them on parallel machines

Page 3: CSci6702 Parallel Computing Andrew Rau-Chaplin

Topics Introduction to Parallelism Parallel Programming Parallel Architectures Parallel Algorithms Parallel Applications Other Parallel Architectures &

Algorithms

Page 4: CSci6702 Parallel Computing Andrew Rau-Chaplin

Official Outline This course explores various aspects of

parallel computing including parallel architectures, algorithms, systems, programming languages and implementation issues.

The focus is on solving real problems on existing parallel machines.

Student will be expected to complete significant parallel implementation projects.

Page 5: CSci6702 Parallel Computing Andrew Rau-Chaplin

Resources Course web page:

www.cs.dal.ca/~arc/teaching/CSci6702

All notes, readings, assignments Parallel Machines

ACEnet

Page 6: CSci6702 Parallel Computing Andrew Rau-Chaplin

Prerequisites Knowledge of C CSci3110 - Analysis of Algorithms

Page 7: CSci6702 Parallel Computing Andrew Rau-Chaplin

Course Evaluation Assignments 40% Seminar 20% Project 30% Participation 10%

See course web page for assignment copies and due dates

Page 8: CSci6702 Parallel Computing Andrew Rau-Chaplin

Assignments Assignment 1: Intro to Parallel

Architectures and Algorithms Assignment 2: Shared memory

programming (Multicore + OpenMP) and Distributed memory programming (Clusters + MPI)

Page 9: CSci6702 Parallel Computing Andrew Rau-Chaplin

Seminar Prepare and deliver a hands-on tutorial on an HPC

topic. Possible topics: GPU programming in CUDA, Web-

scale applications on AWS, Vectorization using Vtune, Parallel programming in Java, Multicore programming in CILK, MapReduce and Hadoop.

In groups of 2-3 Deliverables: Tutorial materials organized

on a web page, plus in class seminar

Page 10: CSci6702 Parallel Computing Andrew Rau-Chaplin

Research Project Select your own topic Algorithms, Systems, or Application

topics Components: Literature review, some

research or programming work, final paper, presentation

Main Deliverable: Conference style paper plus short in-class talk

See project description page