Upload
buck-simpson
View
227
Download
1
Embed Size (px)
DESCRIPTION
Topics Introduction to Parallelism Parallel Programming Parallel Architectures Parallel Algorithms Parallel Applications Other Parallel Architectures & Algorithms
Citation preview
Course Objectives Understand Parallel
Architectures Systems Algorithms
Learn how to Design efficient parallel algorithms,
and Implement them on parallel machines
Topics Introduction to Parallelism Parallel Programming Parallel Architectures Parallel Algorithms Parallel Applications Other Parallel Architectures &
Algorithms
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.
Resources Course web page:
www.cs.dal.ca/~arc/teaching/CSci6702
All notes, readings, assignments Parallel Machines
ACEnet
Prerequisites Knowledge of C CSci3110 - Analysis of Algorithms
Course Evaluation Assignments 40% Seminar 20% Project 30% Participation 10%
See course web page for assignment copies and due dates
Assignments Assignment 1: Intro to Parallel
Architectures and Algorithms Assignment 2: Shared memory
programming (Multicore + OpenMP) and Distributed memory programming (Clusters + MPI)
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
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