154
edits
Changes
Created page with '{{GPU621/DPS921 Index | 20141}} Please help make this page resourceful for all GPU621/DPS921 students to use! = Course Material = == GPU621 - Parallel Algorithms and Programmi…'
{{GPU621/DPS921 Index | 20141}}
Please help make this page resourceful for all GPU621/DPS921 students to use!
= Course Material =
== GPU621 - Parallel Algorithms and Programming Techniques ==
<table>
<tr valign=top>
<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.
* [https://scs.senecac.on.ca/course/GPU621 Course Outline]
</td>
<td>
[[Image:NV_CUDA_Teaching_Center_Small.jpg]]
</td>
</tr>
</table>
== DPS915 - Introduction to Parallel Programming ==
<table>
<tr valign=top>
<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.
* [https://scs.senecac.on.ca/course/dps915 Course Outline]
</td>
<td>
[[Image:NV_CUDA_Teaching_Center_Small.jpg]]
</td>
</tr>
</table>
== External Links ==
* [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]
<!--
* [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=438 Moodle].
* Detail Specifications
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w1.html Initial Profile]
*# [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/w4.html cuBLAS]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w5.html Thrust]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w6.html A Simple Kernel]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w7.html Reduction]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w8.html Thread Divergence]
*# [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]
* Grading - The due date for each workshop is noted in [https://open.senecac.on.ca/cms/course/view.php?id=438 Moodle]. The penalty for late submission is 50% of the workshop mark.
== 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 ==
* Assignments and Presentation 30%
* Workshops 20%
* Test 20%
* Exam 30%
= Resources =
* Software Support
** [http://developer.nvidia.com/cuda-downloads CUDA Toolkit]
** Get [https://inside.senecacollege.ca/its/software/index.html Visual Studio 2012 Ultimate] | Select Software Downloads | Go To Visual Studio 2012 Ultimate 1.49GB | 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/nsight-eclipse-edition NSight Eclipse Edition]
-->
* Wikis
** [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]
<!--
* Subversion
** [http://subversion.tigris.org/ Subversion (SVN)]
** [http://tortoisesvn.net/downloads Download Page of TortoiseSVN]
** [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://ankhsvn.open.collab.net/ AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN]
-->
<!--
= Archives =
-->
Please help make this page resourceful for all GPU621/DPS921 students to use!
= Course Material =
== GPU621 - Parallel Algorithms and Programming Techniques ==
<table>
<tr valign=top>
<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.
* [https://scs.senecac.on.ca/course/GPU621 Course Outline]
</td>
<td>
[[Image:NV_CUDA_Teaching_Center_Small.jpg]]
</td>
</tr>
</table>
== DPS915 - Introduction to Parallel Programming ==
<table>
<tr valign=top>
<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.
* [https://scs.senecac.on.ca/course/dps915 Course Outline]
</td>
<td>
[[Image:NV_CUDA_Teaching_Center_Small.jpg]]
</td>
</tr>
</table>
== External Links ==
* [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]
<!--
* [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=438 Moodle].
* Detail Specifications
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w1.html Initial Profile]
*# [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/w4.html cuBLAS]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w5.html Thrust]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w6.html A Simple Kernel]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w7.html Reduction]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w8.html Thread Divergence]
*# [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]
* Grading - The due date for each workshop is noted in [https://open.senecac.on.ca/cms/course/view.php?id=438 Moodle]. The penalty for late submission is 50% of the workshop mark.
== 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 ==
* Assignments and Presentation 30%
* Workshops 20%
* Test 20%
* Exam 30%
= Resources =
* Software Support
** [http://developer.nvidia.com/cuda-downloads CUDA Toolkit]
** Get [https://inside.senecacollege.ca/its/software/index.html Visual Studio 2012 Ultimate] | Select Software Downloads | Go To Visual Studio 2012 Ultimate 1.49GB | 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/nsight-eclipse-edition NSight Eclipse Edition]
-->
* Wikis
** [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]
<!--
* Subversion
** [http://subversion.tigris.org/ Subversion (SVN)]
** [http://tortoisesvn.net/downloads Download Page of TortoiseSVN]
** [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://ankhsvn.open.collab.net/ AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN]
-->
<!--
= Archives =
-->