ECE408 / CS483 / CSE408:
Applied Parallel Programming, Short Version
Spring 2022

This web page is meant to provide information for those taking the short version of ECE408/CS483/CSE408, which is offered to undergraduates as both ECE397LS and CS397SSL, and to graduate students as both ECE597SL and CS597SSL. Regardless of rubric, you must sign up for 2 credit hours for this course.

For CE undergraduates, please be aware that this course does not count as an advanced computing elective (ACE). For CS undergraduates, please be aware that this class is probably not going to count as a replacement for any graduation option met by CS483 but not by CS397SSL.

I created a CampusWire group (join code 5960) for any questions, but don't expect response times to be short. Andy Schuh is in charge of WebGPU (for the labs/MPs), so anything related to those should be addressed to him ( I am writing the PrairieLearn quizzes for this semester, so please let me know if any of the questions have issues (either directly in PL or on CampusWire or by email). For class-related technical questions, I'll try to peek at the CampusWire once in a while, but you're welcome to join me in office hours instead--I'll post them here once I have set a regular schedule for them.

Course Information


Most of your grade (90%) will be based on nine programming assignments (labs, MPs) done online with WebGPU. You should receive credentials soon from Andy Schuh--be sure that you get the first lab (MP0 Device Query) done ASAP, as doing so usually identifies any issues you may have using the system.

You have infinite tries to get the code right for each MP, and the code is auto-graded. We will have some scripts that check that you have met the specifications for the labs, which may or may not be in the feedback loop (probably not). It should be pretty clear from the assignments whether or not you're meeting the requirements, as usually we treat not doing so as an academic integrity violation (ex: implementing matrix multiplication without use of tiling for the "tiled matrix-matrix multiply" assignment).

The remaining 10% of your grade will be based on 8 PrairieLearn quizzes. These will be timed and allowed limited tries per question, and should be done after completing the labs (one quiz per lab, starting with MP1).

Overall, if you pass all of the autograded tests in the labs, have met the requirements for each, and do the quizzes, you will get an A. If you skip a lab or two, or ignore the quizzes, you won't. Should be an easy A if you pay attention.

I've put pretty late deadlines on both the labs and the quizzes. I suggest that you plan to finish them two or more weeks ahead of the posted deadlines (that's the usual schedule for most of them). Please do not ask for further extensions.

Also, while I hope it will never happen again, I have had students show up at the end of the semester and tell me that they were too busy to do anything on an independent study project. That's an F, which none of us wants to see (nor assign).

Private GPU Resources

You're welcome to use your own GPU to develop code for your assignments, but I won't support you in doing so (it's really not hard--even I have done it!). And while you can grab the starter code, it may be challenging to get some of the labs to run outside of the WebGPU environment, so you may want to save local CUDA coding until you're done with this intro material. Using an external editor (and keeping backup copies!) is always wise with WebGPU, however.

Return to Steve's Home Page