02/11/2010: Homework 4 handed out.
02/03/2010: Homework 3 handed out.
01/25/2010: Homework 2 handed out.
01/20/2010: Homework 1 handed out.
01/15/2010: CIS 665 IS ON !!!
This course will examine the architecture and capabilities of modern GPUs (graphics processing unit).
The GPU has grown in power over recent years, to the point where many computations can be performed
faster on the GPU than on a traditional CPU. GPUs have also become programmable, allowing them to
be used for a diverse set of applications far removed from traditional graphics settings.
Topics covered will include architectural aspects of modern GPUs, with a special focus on their
streaming parallel nature, writing programs on the GPU using high level languages like Cg, CUDA, SlabOps,
and using the GPU for graphics and general purpose applications in the area of geometry modelling,
physical simulation, scientific computing and games.
The course will be hands-on; there will be regular programming assignments, and students will also
be expected to work on a project (most likely a larger programming endeavour, though more
theoretical options will be considered).
NOTE: Students will be expected to have a basic understanding of computer architecture, graphics, and OpenGL.
Grading for this course is as follows: There is no final or mid-term exams. The grading will be based on homeworks, projects, and presentation. Detailed allocations are tentatively as follows:
- Homeworks (50%): Each student will complete 4-5 programming assignments over the semester. These assignments start to fill the student's 'toolbox' of techniques and provide an understanding for the implementation of game rendering, animation, and general purpose algorithms being performed on GPUs.
- Final Project (40%): This is a final project of your choice. We will meet individually with each group to discuss the scope and progress of your projects. At our last lecture, students will take turns to describe their implementation and results.
- Paper Presentation (10%): Each student will present one or two papers on a topic that interests them based on a short list of important papers and subject areas relevant to the GPU literature.
- Quizzes and class participation (+/-5%): A small portion to check if you're attending and paying attention in classes.
The following labs are available for your use if you need. If you don't already have access, contact Joe or Joh.
- Moore 100b Computer Lab
- HMS Lab - Computers with G80 and higher Architecture Cards (by request/need)
Code of Academic Integrity
Since the University is an academic community, its fundamental purpose is the pursuit of knowledge. Essential to the success of this educational mission is a commitment to the principles of academic integrity. Every member of the University community is responsible for upholding the highest standards of honesty at all times. Students, as members of the community, are also responsible for adhering to the principles and spirit of the following Code of Academic Integrity.
Academic Dishonesty Definitions
Activities, that have the effect or intention of interfering with education, pursuit of knowledge, or fair evaluation of a studentís performance are prohibited. Examples of such activities include but are not limited to the following definitions:
- A. Cheating: using or attempting to use unauthorized assistance, material, or study aids in examinations or other academic work or preventing, or attempting to prevent, another from using authorized assistance, material, or study aids. Example: using a cheat sheet in a quiz or exam, altering a graded exam and resubmitting it for a better grade, etc.
- B. Plagiarism: using the ideas, data, or language of another without specific or proper acknowledgment. Example: copying another personís paper, article, or computer work and submitting it for an assignment, cloning someone elseís ideas without attribution, failing to use quotation marks where appropriate, etc.
- C. Fabrication: submitting contrived or altered information in any academic exercise. Example: making up data for an experiment, fudging data, citing nonexistent articles, contriving sources, etc.
- D. Multiple submission: submitting, without prior permission, any work submitted to fulfill another academic requirement.
- E. Misrepresentation of academic records: misrepresenting or tampering with or attempting to tamper with any portion of a studentís transcripts or academic record, either before or after coming to the University of Pennsylvania. Example: forging a change of grade slip, tampering with computer records, falsifying academic information on oneís resume, etc.
- F. Facilitating academic dishonesty: knowingly helping or attempting to help another violate any provision of the Code. Example: working together on a take-home exam, etc.
- G. Unfair advantage: attempting to gain unauthorized advantage over fellow students in an academic exercise. Example: gaining or providing unauthorized access to examination materials, obstructing or interfering with another studentís efforts in an academic exercise, lying about a need for an extension for an exam or paper, continuing to write even when time is up during an exam, destroying or keeping library materials for oneís own use., etc.
* If a student is unsure whether his action(s) constitute a violation of the Code of Academic Integrity, then it is that studentís responsibility to consult with the instructor to clarify any ambiguities.