Programming for Performance

(CS 1207) Mon - Fri 1:00 - 3:50 p.m.




Sudheer Kumar
Email: cdsudheerkumar@sssihl.edu.in

Stampede MIC kepler SandyBridge


Mar 22
Quiz and its solution are posted in the assignments page. Sample solution for the programming contest is also posted. CONGRATULATIONS for successfully completing the course !!!
Mar 21
Optional Programming contest is posted. Work on this at your own convenience.
Mar 21
GTC 2013 keynote was watched partly. Udacity course cs344 course material along with videos is shared. PS1 to PS3 from udacity are due March 22.
Mar 18
GPU (CUDA) programming lecture is posted. Last year's course website: http://dmacssite.github.com
Mar 18
Programming contest results are posted. Congratulations to everyone for working hard on this, special mentions to Pinak and Hemanth!!!
Mar 15
Programming contest (Test) is posted. It is strictly an individual test. Breaking the academic trust leads to disqualification.
Mar 12
LS 6 is posted. It introduces the MIC (Intel Xeon Phi) based programming.
Mar 8
PA3B is posted. Compare your PA3A solution with the solution given here.
Feb 28
PA3 is posted. Strict deadline for submission is on March 7th. It is a class competition assignment.
Feb 20
LS5 is posted. The objective of this lab is to learn cache blocking. Lecture slides are also posted.
Feb 11
PA 2 is posted. The objective of the assignment is to learn writing efficient SIMD code (you are encouraged to use IACA to check the efficiency). And also in this assignment, we will test how effective the compiler vectorization capabilities are. A relevant lecture notes (Compiler Vectorization) is also posted.
Feb 5
LS 4 is posted. The objective of the assignment is to check the effectiveness of MATMUL code vectorization using IACA (Intel Architecture Code Analyzer). It is a nice opportunity to also observe how professional code is written.
Jan 30th
A document with useful links on writing branch predictor friendly code is posted in the lectures page.
Jan 29th
Update: In view of the due date change of LS2, the due date for both PA1 and LS3 is changed to Feb 3rd (Sunday) 10 PM.
Jan 24th
LS2 is posted. It is scheduled for Jan 26th.
Jan 24th
PA1 is posted. It is an individual assignment.
Jan 26th
Update: To give you more time for doing a comprehensive study and analysis of the Lab sessions (2&3), i.e., sorting, scalaradd, reduction(benchmarkcode), the deadline for this set of Lab sessions is postponed to tomorrow. LS2 submission Due: Jan 28th 10PM.
Jan 18th
The tar file with various versions of Matrix Multiplication code is posted. Use build.sh to build and run.sh to run all the versions.
Jan 17th
Syllabus is here. Syllabus
Jan 17th
2012 version of this course (on local e-guru): progforperf2012
Jan 17th
Welcome to CS 1207 !
Academic Integrity: All LS's and PA1 are single-student homeworks. The work must be all your own. Do not copy any parts of any of the homeworks from anyone including the web. Do not look at other students' code, papers, or exams. Do not make any parts of your homework available to anyone, and make sure no one can read your files. We will be using the Moss system to detect software plagiarism. This system is amazingly good, because it understands the programming language C. It is not considered copying to clarify vague points in the assignments, or to give help or receive help in using the computer systems, compilers, debuggers, profilers, or other facilities. Any thing other than those mentioned will be considered as copying.
Credits: Much of the material used in this course is taken from the courses taught by distinguished professors: Prof. Markus Puschel (ETH), Prof. Maria Garzaran (UIUC), Prof. Keshav Pingali (UT), Prof. Charles E. Leiserson (MIT), Prof. Richard Vudua (GaTech), Prof. James Demmel and Prof. Dan Garcia (UCB), Prof. Saday (Ohio). Thanks to all of them for making their course material available online.