Difference between revisions of "GPU610/DPS915"

From CDOT Wiki
Jump to: navigation, search
(The Workshops)
Line 3: Line 3:
 
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 Descriptions =
+
= Course Material =
  
 
== GPU610 - Parallel Programming Fundamentals ==
 
== GPU610 - Parallel Programming Fundamentals ==
Line 34: Line 34:
 
</table>
 
</table>
  
= Common Material =
 
 
== 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]
Line 47: Line 46:
 
*# [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 A Simple Device Operation]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w5.html Dot Product]
+
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w5.html Matrix Product using cuBlas]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w6.html Matrix Product]
+
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w6.html Matrix Product using Thrust]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w7.html Matrix Product using Thrust]
+
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w7.html Dot Product]
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w8.html Matrix Product using cuBlas]
+
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w8.html Matrix Product]
 
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w9.html Matrix Product using Streams]
 
*# [https://scs.senecac.on.ca/~gpu610/pages/workshops/w9.html Matrix Product using Streams]
 
*# [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.  The penalty for late submission is 50% of the workshop mark.
 
* Grading - The window for submission of each workshop is one week.  The penalty for late submission is 50% of the workshop mark.
  
== The Project ==
+
== The Assignments ==
* The course project is a three-stage, team assignment.  Each team consists of 3 members.  In the first stage your team evaluates 6 applications and selects 3 for continued work.  The evaluation includes profiling to identify the hot spots in each application. Each team member is responsible for 2 of the candidate applications. The second stage refactors the applications to use the GPU, including shared memory.  The third and final stage optimizes the performance.  Each team presents the results of its work during the final week of the semester.
 
* Detail Specifications
 
 
*# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a1.html Selection and Assessment]
 
*# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a1.html Selection and Assessment]
 
*# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a2.html GPU Programming]
 
*# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a2.html GPU Programming]
 
*# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a3.html Optimization]
 
*# [https://scs.senecac.on.ca/~gpu610/pages/assignments/a3.html Optimization]
* Grading - The penalty for late submission is 30% of the assignment mark. The penalty for resubmission, in the event that the original submission was not workable is 50%. The due dates are posted in [https://open.senecac.on.ca/cms/course/view.php?id=342 Moodle]. All submissions are to be made through [https://open.senecac.on.ca/cms/course/view.php?id=342 Moodle].&nbsp;
 
  
 
== Evaluation ==
 
== Evaluation ==
  
* Assignment 30%
+
* Assignments and Presentation 30%
 
* Workshops 20%
 
* Workshops 20%
 
* Test 20%
 
* Test 20%
 
* Exam 30%
 
* Exam 30%
 
== Final Submission Requirements ==
 
* Under construction
 
<!-- When ready to submit your project:
 
# Finalize your modifications in trunk.
 
# Create a directory in trunk called: '''"SubmissionLogs"'''
 
# For each member of the team create a text file named as '''"YourSenecaEmailId.txt"''' in the '''"SubmissionLogs"''' directory. In this text file, in a point form, specify in detail, all the tasks you have done for the group project.
 
# Branch (copy) the whole project including the SubmissionLogs directory and its text files into tags directory under '''"prj1.0"'''.
 
# If final adjustments are needed after these steps, repeat everything from step one but branch the trunk into a new directory in tags as '''prj1.1, prj1.2''', etc.
 
#:(for marking purposes, your instructor will consider your last revision as your submission)
 
-->
 
  
 
= Resources =
 
= Resources =
Line 95: Line 80:
 
** [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://zenit.senecac.on.ca/wiki/index.php/OOP344_Student_Resources#The_Basics_of_IRC IRC Basics]
 
 
* [http://irchelp.org/irchelp/irctutorial.html IRC Tutorial]
 
-->
 
 
** [http://ankhsvn.open.collab.net/ AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN]
 
** [http://ankhsvn.open.collab.net/ AnkhSVN - Free Visual Studio SVN Integration Alternative To VisualSVN]
  
 
= Archives =
 
= Archives =

Revision as of 18:27, 9 January 2013


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

The Workshops

The Assignments

Evaluation

  • Assignments and Presentation 30%
  • Workshops 20%
  • Test 20%
  • Exam 30%

Resources

Archives