Class meets Tu Th 9:30--10:45 AM in CHE 2136.
|Abhinav Bhateleemail@example.com||IRB 5218||Instructor|
Selected topics in high performance systems, including contemporary architectures, interconnection topologies, shared memory and message-passing systems, multi-threaded kernels, latency avoidance and hiding techniques, methods for data and work partitioning, performance profiling, and debugging.
The objective of this course is to study the theory and practice of high performance parallel and distributed computing. The overall goal is to expose you to tools and techniques for parallel and/or distributed environments and to study current trends and technologies.
This course will focus on current practices in high performance computing technologies, including systems, architectures, programming models, languages and software tools. The course will require students to produce questions for multiple technical papers during the semester and complete two introductory and one more extensive group research project in parallel and/or distributed programming.
CMSC411 and CMSC412; or permission of instructor.
None - Reading list will provide materials
Your grade will be determined as follows:
|Research (group) project||1||40|
The CS Department takes academic integrity seriously. Information on how the CS Department views and handle academic integrity matters can be found at Academic Integrity.
Note that academic dishonesty includes not only cheating, fabrication, and plagiarism, but also includes helping other students commit acts of academic dishonesty by allowing them to obtain copies of your work. In short, all submitted work must be your own. Cases of academic dishonesty will be pursued to the fullest extent possible as stipulated by the Office of Student Conduct.
It is very important for you to be aware of the consequences of cheating, fabrication, facilitation, and plagiarism. For more information on the Code of Academic Integrity or the Student Honor Council, please visit http://www.shc.umd.edu.
On any graded exam or programming assignments (except for group projects), you are NOT allowed to collaborate or exchange code. We compare each student's code with every other student's code to check for similarities. Every semester, we catch an embarrassingly high number of students that engage in cheating and we have to take them to the Honor Council.
You may post your project code to private Github (or similar service) repos only. As a student, you can make a private repo for free. Just remember that your free premium subscription has an expiry date, and your code becomes public once it expires. The Honor Council can retroactively give an XF (even to students who have already graduated) if your code is then used by another student to cheat. So just be careful.
Posting graded code to a public repo will give you a free ticket to the Honor Council.
We encourage students to talk about course material and help each other out in group chats. However, this does NOT include graded assignments. Talking about release tests is NOT okay.
There have been a couple instances in the past where students have posted pictures/source files of their code, or earlier sections have given away exam questions to later sections. Not only did this lower the curve for the earlier section because the later one will do better, the WHOLE group chat had to pay a visit to the Honor Council. It was an extremely ugly business. Remember that in a group of 200+, someone or the other will blow the whistle. If you happen to be an innocent person in an innocent groupchat and someone starts cheating out of the blue, leave it immediately (and better yet, say you are leaving and say you will report it).
Creating collaborative study guides on Google docs is OK. Encouraged, even. Just do this before the exam, and don't bring the study guide to the exam. Don't add exam questions to the study guide after the early section's midterm.
PRACTICE Exams/ Worksheets/ Lecture examples/ Ungraded Lab examples Totally cool. Highly encouraged to co-create and share (with same caveats as study guides).
Prof. Bhatele is the information owner for all Linux cluster accounts in this class, and all files in those accounts may be inspected by him at any time.
The following are examples of academic integrity violations:
See the section titled "Attendance, Absences, or Missed Assignments" available at Course Related Policies.
See the section titled "Accessibility" available at Course Related Policies.
All course materials are copyright UMCP, Department of Computer Science © 2019. All rights reserved. Students are permitted to use course materials for their own personal use only. Course materials may not be distributed publicly or provided to others (excepting other students in the course), in any way or format.