Fall 2022
Stanford University
This course explores advanced topics in supercomputer programming, with a focus on tasking runtimes. It offers a survey of programming models, supercomputer architectures, and in-depth lessons on tasking. Students will gain hands-on experience in cuNumeric and Regent programming languages. While it doesn't assume extensive background, good programming skills are required.
This offering of CS315B will be a course in advanced topics and new paradigms in programming supercomputers, with a focus on modern tasking runtimes. As supercomputers have grown much larger and more complex, tasking has emerged as one of the leading alternatives to current bulk synchronous programming models, with the promise of both higher performance and more productive software development.
The course will consist of lectures on supercomputer architectures, a survey of current standard and alternative programming models, and in-depth lectures on proposals for tasking. Students will be given the opportunity to program in cuNumeric, a drop-in replacement for NumPy that targets clusters, and Regent, a high-level tasking programming language. Both systems target the Legion distributed runtime. There will be lectures on and programming exercises in both cuNumeric and Regent, and there will also be a course project in which students will write a significant supercomputer application of their own choosing.
The course is open to both computer scientists and computational scientists who are interested in learning about new approaches to programming modern supercomputers. Because it is desirable to have such a mix of students, the course will not assume much background, though good programming skills will be needed to get the most out of the course.
No data.
No data.
No data