Parallelize a Monte Carlo Risk Engine for a Quant Hedge Fund
Overview
What this challenge is about.
Profile the existing engine (C++17, single-threaded). Identify the parallelism axis (per-path independence is the obvious one — but watch for the global RNG bottleneck). Implement two strategies: (1) work-stealing task pool using Intel TBB, (2) a coarse-grained per-thread accumulator with a final lock-free reduction. Benchmark both at 1, 4, 8, 16, 32 threads on the team's 32-core test machine. Verify numerical equivalence with the scalar baseline (max relative diff under 1e-10). Deliver source, benchmark plots with strong-scaling efficiency, and a 5-page memo recommending which to ship and what tail-risk the chosen design introduces.
The Brief
What you'll do, and what you'll demonstrate.
Reduce overnight VaR wall-clock by 4x via shared-memory parallelism while preserving bit-near numerical equivalence with the scalar baseline.
Earning criteria — what you'll demonstrate
- Apply work-span analysis to identify the parallelism axis
- Implement work-stealing scheduling with a real framework (TBB)
- Design lock-free reductions that respect numerical reproducibility
- Benchmark with strong-scaling efficiency, not just wall-clock
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
Careers
Roles this prepares you for.
Real titles. Real skill bridges. Pick the one closest to your trajectory.
Career mappings coming soon.