100 likes | 116 Views
CSci6702 Parallel Computing. Andrew Rau-Chaplin arc@cs.dal.ca www.cs.dal.ca/~arc. Course Objectives. Understand Parallel Architectures Systems Algorithms Learn how to Design efficient parallel algorithms, and Implement them on parallel machines. Introduction to Parallelism
E N D
CSci6702Parallel Computing Andrew Rau-Chaplin arc@cs.dal.ca www.cs.dal.ca/~arc
Course Objectives • Understand Parallel • Architectures • Systems • Algorithms • Learn how to • Design efficient parallel algorithms, and • Implement them on parallel machines
Introduction to Parallelism Parallel Programming Parallel Architectures Parallel Algorithms Parallel Applications Other Parallel Architectures & Algorithms Topics
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