MFCF supports the computing needs of all members and visitors of the Faculty of Mathematics with the exception of members and visitors of the David R. Cheriton School of Computer Science. These persons should instead contact our colleagues in the Computer Science Computing Facility (CSCF) for service.
MFCF Help Centre Information
- Location: Mathematics & Computer Building (MC) 3017
- Hours: 9:00 a.m. - 4:30 p.m. Ext.: 46323
- Email or Teams: mfcfhelp@uwaterloo.ca
- Email to MFCF RT form: rt-math@rt.math.uwaterloo.ca
News
Faculty of Mathematics Storage Renewal
The main storage appliance (NetApp) used in the Faculty of Mathematics (FoM) will be replaced. The current appliance has reached its end of life.
Migrate web services to Hyper-V
What is happening?
We will be migrating the following Virtual Machines (VM) to Hyper-V platform:
This includes the following services:
Research environment
- links.uwaterloo.ca
- sas.uwaterloo.ca
- cacr.uwaterloo.ca
- math.uwaterloo.ca
- www.math.uwaterloo.ca
Teaching environment
- student.math.uwaterloo.ca
- www.student.math.uwaterloo.ca
When is this happening?
Friday, June 6 at 11:00 a.m. – 12:00 p.m.
How does this affect me?
Access to the above sites will not be available during this downtime.
Please contact the MFCF Help Centre (mfcfhelp@uwaterloo.ca) if you have questions or concerns.
Windows 10 end of life
Windows 10 will reach its end of life on October 14, 2025. University owned computers must be running Windows 11 by then.
Events
Bandicoot: Efficient GPU linear algebra via C++ template metaprogramming
Math Faculty Computing Facility
Presents:
Dr. Ryan Curtin
Tuesday, January 27, 2026
10:30am - 12:00pm DC 1302
R.S.V.P to mfcfhelp@uwaterloo.ca
"Bandicoot: Efficient GPU linear algebra via C++ template metaprogramming"
Abstract:
It's not too much of a stretch to say that linear algebra is the backbone of modern computational science; by that token, efficiency is of paramount importance. For over 15 years, the Armadillo C++ linear algebra library has provided efficient linear algebra implementations via template metaprogramming, using expression templates and delayed evaluation techniques (which were originally developed at Waterloo in the late 90s!). Recently, the Bandicoot project introduced the same techniques for GPU linear algebra using an Armadillo-compatible API for easy drop-in usage. Bandicoot is not specific to particular hardware; it can be used with any CUDA or OpenCL device, and additional backends (HIP/ROCm, Metal, Vulkan) are actively being developed. Bandicoot is able to both optimize linear algebra expressions at compile-time in the same way Armadillo can, and also generate efficient GPU kernel code with fused optimizations. I will discuss each of these optimizations, how they all fit together into Bandicoot, and show how existing Armadillo applications can be easily adapted to the GPU with Bandicoot.
Bio:
Dr. Ryan Curtin is an independent researcher and open-source software developer, leading the development and maintenance of several packages in the C++ scientific software ecosystem. During his Ph.D. at Georgia Tech he focused on the formalization of dual-tree algorithms, a class of geometric branch-and-bound algorithms that can be used to solve subproblems relevant to machine learning techniques. These algorithms underlie the efficient mlpack C++ machine learning library, which he has led since 2010. In his free time, he races go-karts, so he never escapes from trying to go fast in one way or another.