Difference between revisions of "GPU610/DPS915"

From CDOT Wiki
Jump to: navigation, search
(The Assignments)
(Resources)
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{GPU610/DPS915 Index | 20131}}
+
{{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!
Line 11: Line 11:
  
 
*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://scs.senecac.on.ca/course/gpu610 Course Outline]
+
* [https://ict.senecacollege.ca/course/gpu610 Course Outline]
 
</td>
 
</td>
 
<td>
 
<td>
Line 26: Line 26:
 
*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://scs.senecac.on.ca/course/dps915 Course Outline]
+
* [https://ict.senecacollege.ca/course/dps915 Course Outline]
 
</td>
 
</td>
 
<td>
 
<td>
Line 41: Line 41:
 
-->
 
-->
  
== The Workshops ==
+
== 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=342 Moodle].
+
* 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 Assessment]
+
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w1.html Initial Profile]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w2.html Linear Algebra using BLAS]
+
*# [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 A Simple Device Operation]
+
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w4.html cuBLAS]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w5.html Matrix Product using cuBlas]
+
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w5.html Thrust]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w6.html Matrix Product using Thrust]
+
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w6.html A Simple Kernel]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w7.html Dot Product]
+
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w7.html Reduction]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w8.html Matrix Product]
+
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w8.html Thread Divergence]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w9.html Matrix Product using Streams]
+
*# [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 - The window for submission of each workshop is one week plus a day from the date of the workshop period. The penalty for late submission is 50% of the workshop mark.
+
* 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  ==
 
== Assignments  ==
# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a1.html Selection and Assessment]
+
# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a1.html Select and Assess]
# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a2.html GPU Programming]
+
# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a2.html Parallelize]
# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a3.html Optimization]
+
# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a3.html Optimize]
  
 
== Evaluation ==
 
== Evaluation ==
  
* Assignments and Presentation 30%
+
* Assignments and Presentation 20%
* Workshops 20%
+
* Workshops 30%
* Test 20%
+
* Option 1: Tests 50%
* Exam 30%
+
* 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]
** [https://acs.senecac.on.ca/pages/index.php Microsoft Visual Studio 2010 Pro]
+
** 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]
Line 88: Line 89:
 
-->
 
-->
  
 +
<!--
 
= Archives =
 
= Archives =
 +
-->

Latest revision as of 17: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!

Course Material

GPU610 - Parallel Programming Fundamentals

  • 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.
  • Course Outline

NV CUDA Teaching Center Small.jpg

DPS915 - Introduction to Parallel 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 and develop a CPU+GPU application for a client.

NV CUDA Teaching Center Small.jpg

External Links

Workshops

Assignments

  1. Select and Assess
  2. Parallelize
  3. Optimize

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