FINM 32950

Introduction to HPC in Finance

Spring Quarter
Instructor: Chanaka Liyanaarachchi
Syllabus

In this course, we delve into the realm of high-performance computing within finance applications. As the demand for speed and accuracy in financial calculations increases, whether it be margin calculations, calibrating Option pricing models, or training ML models, traditional sequential programming on single processors falls short. We explore the imperative of parallel computing technologies to address these challenges efficiently. 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 programssystematically.
  • 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. 

Flexible scheduling accommodates students' summer commitments such as internships or travel. The course can be taken entirely remote, with the final exam being take-home. 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.

This course counts towards the Financial Computing concentration.