Difference between revisions of "GPU610/DPS915"
(→DPS915 - Introduction to Parallel Programming) |
(→Resources) |
||
(33 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{GPU610/DPS915 Index | | + | {{GPU610/DPS915 Index | 20191}} |
Please help make this page resourceful for all GPU610/DPS915 students to use! | Please help make this page resourceful for all GPU610/DPS915 students to use! | ||
− | = Course | + | = Course Material = |
== GPU610 - Parallel Programming Fundamentals == | == GPU610 - Parallel Programming Fundamentals == | ||
<table> | <table> | ||
− | <tr> | + | <tr valign=top> |
<td> | <td> | ||
*Modern GPU (Graphics Processing Unit) technology supports massively parallel computations, which complements the serial processing capabilities of CPU technology. This course teaches students how to read, write, and debug programs that use both CPU and GPU technology. Students learn to reorganize existing programs into serial code that runs on the CPU and parallel code that runs on the GPU. Students also study cases that have benefited from CPU+GPU programming. | *Modern GPU (Graphics Processing Unit) technology supports massively parallel computations, which complements the serial processing capabilities of CPU technology. This course teaches students how to read, write, and debug programs that use both CPU and GPU technology. Students learn to reorganize existing programs into serial code that runs on the CPU and parallel code that runs on the GPU. Students also study cases that have benefited from CPU+GPU programming. | ||
− | * [https:// | + | * [https://ict.senecacollege.ca/course/gpu610 Course Outline] |
</td> | </td> | ||
<td> | <td> | ||
Line 21: | Line 21: | ||
== DPS915 - Introduction to Parallel Programming == | == DPS915 - Introduction to Parallel Programming == | ||
<table> | <table> | ||
− | <tr> | + | <tr valign=top> |
<td> | <td> | ||
*Modern GPU (Graphics Processing Unit) technology supports massively parallel computations, which complements the serial processing capabilities of CPU technology. This course teaches students how to read, write, and debug programs that use both CPU and GPU technology. Students learn to reorganize existing programs into serial code that runs on the CPU and parallel code that runs on the GPU. Students also study cases that have benefited from CPU+GPU programming and develop a CPU+GPU application for a client. | *Modern GPU (Graphics Processing Unit) technology supports massively parallel computations, which complements the serial processing capabilities of CPU technology. This course teaches students how to read, write, and debug programs that use both CPU and GPU technology. Students learn to reorganize existing programs into serial code that runs on the CPU and parallel code that runs on the GPU. Students also study cases that have benefited from CPU+GPU programming and develop a CPU+GPU application for a client. | ||
− | * [https:// | + | * [https://ict.senecacollege.ca/course/dps915 Course Outline] |
</td> | </td> | ||
<td> | <td> | ||
Line 34: | Line 34: | ||
</table> | </table> | ||
− | |||
== External Links == | == External Links == | ||
* [https://scs.senecac.on.ca/~gpu610/pages/content/index.html Course Web Site – Lecture Notes] | * [https://scs.senecac.on.ca/~gpu610/pages/content/index.html Course Web Site – Lecture Notes] | ||
* [https://cs.senecac.on.ca/~gpu610/pages/timeline.html Course Web Site – Timeline] | * [https://cs.senecac.on.ca/~gpu610/pages/timeline.html Course Web Site – Timeline] | ||
+ | <!-- | ||
* [svn://zenit.senecac.on.ca/dpsgpu/trunk Class Samples] | * [svn://zenit.senecac.on.ca/dpsgpu/trunk Class Samples] | ||
+ | --> | ||
− | == | + | == Workshops == |
− | * The workshops provide timely opportunities to implement some of the material covered during the lectures. Each workshop is graded and all submissions are through [https://open.senecac.on.ca/cms/course/view.php?id= | + | * The workshops provide timely opportunities to implement some of the material covered during the lectures. Each workshop is graded and all submissions are through [https://open.senecac.on.ca/cms/course/view.php?id=536 Moodle]. |
* Detail Specifications | * Detail Specifications | ||
− | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w1.html Initial | + | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w1.html Initial Profile] |
− | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w2.html | + | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w2.html BLAS] |
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w3.html Device Query and Selection] | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w3.html Device Query and Selection] | ||
− | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w4.html | + | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w4.html cuBLAS] |
− | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w5.html | + | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w5.html Thrust] |
− | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w6.html | + | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w6.html A Simple Kernel] |
− | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w7.html | + | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w7.html Reduction] |
− | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w8.html | + | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w8.html Thread Divergence] |
− | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w9.html | + | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w9.html Coalesced Memory Access] |
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w10.html CUDA to OpenCL] | *# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w10.html CUDA to OpenCL] | ||
− | * Grading | + | * Grading - The due date for each workshop is noted in MySeneca. The penalty for late submission is 20% of the workshop mark; 50% for very late submission. |
− | The | ||
− | == | + | == Assignments == |
− | + | # [https://scs.senecac.on.ca/~gpu610/pages/assignments/a1.html Select and Assess] | |
− | + | # [https://scs.senecac.on.ca/~gpu610/pages/assignments/a2.html Parallelize] | |
− | + | # [https://scs.senecac.on.ca/~gpu610/pages/assignments/a3.html Optimize] | |
− | |||
− | |||
− | |||
− | |||
== Evaluation == | == Evaluation == | ||
− | * | + | * Assignments and Presentation 20% |
− | * Workshops | + | * Workshops 30% |
− | * | + | * Option 1: Tests 50% |
− | * Exam | + | * Option 2: Tests 35% + Exam 15% |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
= Resources = | = Resources = | ||
* Software Support | * Software Support | ||
− | |||
** [http://developer.nvidia.com/cuda-downloads CUDA Toolkit] | ** [http://developer.nvidia.com/cuda-downloads CUDA Toolkit] | ||
+ | ** Get [https://inside.senecacollege.ca/its/software/index.html Visual Studio 2017] | Select Software Downloads | Go To Visual Studio 2013 Ultimate 2.82GB | Download iso | Burn, if error burn again | Finally, install | ||
+ | |||
+ | <!-- | ||
** [http://developer.nvidia.com/nvidia-nsight-visual-studio-edition NSight Visual Studio Edition] | ** [http://developer.nvidia.com/nvidia-nsight-visual-studio-edition NSight Visual Studio Edition] | ||
** [http://developer.nvidia.com/nsight-eclipse-edition NSight Eclipse Edition] | ** [http://developer.nvidia.com/nsight-eclipse-edition NSight Eclipse Edition] | ||
+ | --> | ||
* Wikis | * Wikis | ||
** [http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page How To edit Wiki pages] | ** [http://en.wikipedia.org/wiki/Wikipedia:How_to_edit_a_page How To edit Wiki pages] | ||
** [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet How To edit Wiki Cheatsheet] | ** [http://en.wikipedia.org/wiki/Wikipedia:Cheatsheet How To edit Wiki Cheatsheet] | ||
+ | <!-- | ||
* Subversion | * Subversion | ||
** [http://subversion.tigris.org/ Subversion (SVN)] | ** [http://subversion.tigris.org/ Subversion (SVN)] | ||
Line 97: | Line 86: | ||
** [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html TortoiseSVN Documentation] | ** [http://tortoisesvn.net/docs/release/TortoiseSVN_en/index.html TortoiseSVN Documentation] | ||
** [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download [https://cs.senecac.on.ca/~fardad.soleimanloo/oop344/notes/svn-book.pdf the PDF from here]. | ** [http://svnbook.red-bean.com/ SVN book at red-bean.com] or download [https://cs.senecac.on.ca/~fardad.soleimanloo/oop344/notes/svn-book.pdf the PDF from here]. | ||
− | + | ** [http://ankhsvn.open.collab.net/ AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN] | |
− | * [http:// | ||
− | |||
− | |||
--> | --> | ||
− | |||
+ | <!-- | ||
= Archives = | = Archives = | ||
+ | --> |
Latest revision as of 18:17, 6 January 2019
GPU610/DPS915 | Student List | Group and Project Index | Student Resources | Glossary
Please help make this page resourceful for all GPU610/DPS915 students to use!
Contents
Course Material
GPU610 - Parallel Programming Fundamentals
|
DPS915 - Introduction to Parallel Programming
|
External Links
Workshops
- The workshops provide timely opportunities to implement some of the material covered during the lectures. Each workshop is graded and all submissions are through Moodle.
- Detail Specifications
- Grading - The due date for each workshop is noted in MySeneca. The penalty for late submission is 20% of the workshop mark; 50% for very late submission.
Assignments
Evaluation
- Assignments and Presentation 20%
- Workshops 30%
- Option 1: Tests 50%
- Option 2: Tests 35% + Exam 15%
Resources
- Software Support
- CUDA Toolkit
- Get Visual Studio 2017 | Select Software Downloads | Go To Visual Studio 2013 Ultimate 2.82GB | Download iso | Burn, if error burn again | Finally, install