1 / 10

CSci6702 Parallel Computing

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

mpappas
Télécharger la présentation

CSci6702 Parallel Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSci6702Parallel Computing Andrew Rau-Chaplin arc@cs.dal.ca www.cs.dal.ca/~arc

  2. Course Objectives • Understand Parallel • Architectures • Systems • Algorithms • Learn how to • Design efficient parallel algorithms, and • Implement them on parallel machines

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

  4. 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.

  5. Resources • Course web page: • www.cs.dal.ca/~arc/teaching/CSci6702 • All notes, readings, assignments • Parallel Machines • ACEnet

  6. Prerequisites • Knowledge of C • CSci3110 - Analysis of Algorithms

  7. Course Evaluation • Assignments 40% • Seminar 20% • Project 30% • Participation 10% • See course web page for assignment copies and due dates

  8. Assignments • Assignment 1: Intro to Parallel Architectures and Algorithms • Assignment 2: Shared memory programming (Multicore + OpenMP) and Distributed memory programming (Clusters + MPI)

  9. 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

  10. 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

More Related