CS4823/CS6643, Parallel Programming, Spring 2024
Generala Information

Course Description: This course is an introduction to the parallel programming paradigms. Parallel Computing has drawn wide attention recently for a number of reasons. Most significantly, the fact that Dennard Scaling is slowly failing makes paralleling computing the most power-efficiently way to improve performance. Due to this fact, multi-core and man-core processors become ubiquitous, bring parallel computing to the mass at the low-end. At the high end, large-scale systems with hundreds of thousands of processors are adopted in data centers and high-performance computing centers to satisfy the needs to process massive data and user requests.

This course presents the core concepts of parallel computing and programming. It consists of three basic parts: 1) Hardware and software support for parallel computation; 2) Parallel Algorithm Design; 3) Parallel programming with popular programming models, e.g., OpenMP, Pthreads, MPI, CUDA and Hadoop; 4) Theoretical and practical performance analysis and optimization.
Instructor: Wei Wang, wei.wang@utsa.edu
Office: NPB 3.342
Online Materials: Will be posted on Blackboard section under "Contents" section.
Office Hours: Monday 1pm to 2pm, Tuesday 2pm to 4pm.
Or by appointment. For e-mail contact, always include "CS4823" in the subject line.
Teaching Assistants: TBD
TA Office Hours: None
Goals and Schedule: Please follow this link.
Prerequisites: CS 3343 (Analysis of Algorithms) and
CS 3423 (Systems Programming) are required.
You should be able to write C/C++ code.
Texts (optional): "Introduction to Parallel Computing", 2nd Edition, by Ananth Grama, George Karypis, Vipin Kumar, and Anshul Gupta.

There are aslo many online resources available. I will often point out websites and I will include the URL on the class site.
Grading: For CS4823: there will be one midterm exam (20%), a final programming exam (25%), pop quizzes and class participation (5%), as well as 5 programming assignments (50% total). There are also 3% extra credit opportunities.

For CS6643:A final programming exam (25%), 7 programming assignments and several paper reading assignments (70% total), pop quizzes and class participation (5%). There are also 3% extra credit opportunities.

Keep all graded material to provide evidence of grades in case there is an error in transcription. Attendance in class may be noted and negatively affect your class participation grade. Excessive unexcused absences from class is grounds for receiving a failing grade. These tentative percentages are subject to change if circumstances warrant. Please note: the assignments may not be equally weighted.

Weights are assigned according to level of difficulty and the number of assignments that the class completes.
Course Rules: You are fully responsible for all material presented in class. There may be an occasional unannounced quiz. Exams and due dates are scheduled in advance. A grade of zero will be recorded for missed exams and late assignments unless prior arrangements are made or for university excused absences (e.g., a religious holy day, an official university function, military service, medical emergency, extenuating circumstances). Assignments turned in after the due date, but within a week from the due date are penalized 10%. Assignments that are more than one week late will not be accepted. You are free to develop assignments on any platform/OS you wish. However, you are responsible for porting your code to the platform the class is using and ensuring that it runs correctly. Our reference system is the CS department fox servers.
Cheating: Students are encouraged to discuss programs in general and to help one another find bugs in existing programs, but using another's code or writing code for someone else is cheating and a violation of the University's Honor Code. This includes consulting solutions to assignments from previous years or tests from previous years. Keep listings to provide evidence of creative development.
Projects: There will be 6 to 7 major programming assignments and a final project (if no final exam).
Accommodations: If you may need special consideration because of a disability, please discuss your situation with me at the very beginning of the course. If you are registered with Disability Services and anticipate having your exams administered in a manner that varies from what other students will experience, please notify me the special testing circumstances that you might require as soon as possible (and before the first exam). It is essential that there be an agreement on a reasonable and satisfactory accommodation, and not one that is excessively burdensome to the conduct of the course or unfair to the other students. Information about Disability Services is available in the UTSA Information Bulletin. As a general rule, students are only eligible for special treatment or consideration if they are registered with Disability Services and I am instructed by that office as to the special treatment or consideration that is to be allowed. Consult: http://utsa.edu/disability/
Additional Academic Support: I encourage you to utilize the academic support services available to you through the Tomás Rivera Center (TRC) to assist you with building study skills and tutoring in course content. These services are available at no additional cost to you. The TRC has several locations at the Main Campus and is also located at the Downtown Campus. For more information, visit the web site at www.utsa.edu/trcss or call (210) 458-4694 on the Main Campus and (210) 458-2838 on the Downtown Campus.
Exclusion Zone: Pursuant to HOP 9.48, Carrying of Concealed Handguns on Campus, my private office (NPB 3.210) is a designated exclusion zone. As set out in Section 30.06, Penal Code (trespass by license holder with a concealed handgun), a person licensed to carry a Concealed Handgun under Subchapter H, Chapter 411 Government Code (handgun licensing law), may not enter this property/office with a concealed handgun.

De conformidad con HOP 9.48, Llevar Armas de Fuego Encubiertas en el Campus, mi oficina privada (NPB 3.210) es una zona designada de exclusión. Conforme a la sección 30.06 del código penal (trespasar portando armas de fuego) personas con licencia bajo del sub-capitulo H, capitulo 411, codigo de gobierno (ley de portar armas), no deben entrar a esta propiedad portando un arma de fuego.