course_info:cis_3090
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
course_info:cis_3090 [2015/02/10 19:06] – Page moved from cis_3090 to course_info:cis_3090 kjohns23 | course_info:cis_3090 [2015/02/13 22:39] (current) – wgardner | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | Include a brief summary of the course topics and requirements, | + | ===CIS*3090 Parallel Programming=== |
== Skills and knowledge students should have prior to beginning the course: == | == Skills and knowledge students should have prior to beginning the course: == | ||
- | + | * CIS*2030 or ENGG*3640: Successful parallel programming relies on an understanding of the underlying CPU hardware, including how assembly language instructions are executed, and how RAM is organized and referenced. | |
- | * Unordered List Item | + | * CIS*3110: Certain OS topics are highly relevant to parallel programming, |
== Course Topics: == | == Course Topics: == | ||
- | | + | Today' |
+ | |||
+ | In terms of practical skills, high-performance (non-shared memory) cluster programming will be introduced via the University of Guelph Pilot library, based on MPI and utilizing message-passing. Programming for multicore shared memory processors will utilize the popular existing parallel programming technique of POSIX threads, and compiler-based OpenMP, supported by the latest suite of Intel tools, as well as Java threads. Heterogeneous architectures--GPUs (graphics processing units) and the Intel Xeon Phi--will be introduced. | ||
+ | |||
+ | - Historical perspective on concurrency in computing | ||
+ | - Parallel computer system architectures | ||
+ | | ||
+ | * Homogeneous vs. heterogeneous multiprocessors | ||
+ | * Shared vs. non-shared memory systems | ||
+ | - Performance: | ||
+ | - Abstractions and algorithms for parallel program design: task vs. data parallelism, | ||
+ | - Practical programming: | ||
+ | - Overview of CUDA and OpenACC for GPU programming | ||
+ | - Overview of Intel Xeon Phi coprocessor | ||
+ | - Future directions in hardware and software | ||
== Course Format: == | == Course Format: == | ||
- | * Lecture format: | + | * Lecture format: |
- | * Online materials location and format: | + | * Online materials location and format: |
- | * Lab or tutorial format and expectations: | + | * Lab or tutorial format and expectations: |
== Method of evaluation: == | == Method of evaluation: == | ||
- | * Number of Assignments: | + | * Number of Assignments: |
- | * Number of Graded Labs: | + | * Number of Graded Labs: none |
- | * Number of Quizzes: | + | * Number of Quizzes: |
- | * Formal Midterm? | + | * Formal Midterm: YES in 4-assignments format; NO with project |
- | * Course project? | + | * Course project: The course has been offered with and without a project, depending on the number of students. The project requires a class presentation and report (see below). |
- | * Final Exam? | + | * Final Exam: YES |
- | * Group work? | + | * Group work: Assignments are strictly individual work. Groups of 2 are permitted for projects. |
- | * mostly | + | * Mostly |
- | * Written documents? | + | * Written documents? |
course_info/cis_3090.1423595172.txt.gz · Last modified: 2015/02/10 19:06 by kjohns23