This course will cover concurrent, parallel and distributed programming paradigms and methodologies with a focus on implementing them for use in applied data science or scientific computing tasks. In particular, the course will focus on developing software using graphical processing units (GPUs) and the message passing interface (MPI); with an emphasis on properly handling large-scale, real-world data as part of these applications. The course will also teach scalability and load balancing techniques for developing efficient distributed systems. Programming assignments are required.
This course is not currently scheduled. Please contact the concierge to learn more.