Introduction to HPC in Finance
Spring Quarter
Instructor: Chanaka Liyanaarachchi
Syllabus
In this course, we delve into high-performance computing within finance applications. As the demand for speed and accuracy in financial calculations grows—whether for margin calculations, calibrating option pricing models, or training machine learning models—traditional sequential programming on single processors proves inadequate. We examine the necessity of parallel computing technologies to tackle these challenges effectively.
Skills learned in this course:
- Identification of performance bottlenecks in finance applications using a systematic approach.
- C++ features for high performance
- High performance using accelerator and parallel programming solutions: Threads, OpenMP, Intel oneAPI, GPGPU (CUDA), and advanced Python Solutions
- Adoption of a pattern-based approach to design concurrency and parallelism into programs systematically.
- Opportunity to learn and work with Linux OS (Linux is very widely used in the industry).
Through hands-on exercises and real-world finance applications, students gain practical insights and immediately applicable skills. Access to state-of-the-art computing resources is provided through the University's Research Computing Center, eliminating the need for specialized hardware or software purchases.
By the course's conclusion, students emerge equipped to tackle performance challenges head-on, making them valuable assets in any finance team or research project. Early registration is encouraged to ensure seamless access to computing resources.
Programming Languages: C++ (primary), and Python. Basic knowledge of C/C++ and Python assumed.
This course counts towards the Financial Computing concentration.