If you are interested in any of these projects and are a current MIT student looking for a UROP or MEng please reach out to the mentor listed next to project.
A large list of projects in scientific machine learning can be found here. Take that list as a set of ideas from which larger projects can be chosen.
Mentor: Valentin Churavy
We have many projects for working on compiler or runtimes in the context of scientific computing, the topics below can serve as inspiration.
Caching for GPU kernel compilation
KernelAbstractions.jl provides a common interface for writing GPU kernels in Julia and executing them on multiple platforms.
Mentor: Julian Samaroo
Implement support for various ROCm libraries: rocSOLVER, rocSPARSE, MIOpen, etc.
Build ROCm libraries as JLLs
Explore integration with ROCm debugging and profiling tooling
Enzyme.jl is the Julia frontend to the Enzyme automatic-differentiation engine.
Improved JIT compilation for Enzyme
Compile on Demand / Parallel JIT
Caching of Enzyme AD results
Caching of inference results for reducing inital latency
Improvements to Julia integration with native debuggers and profilers
Better native debug-information (DWARF)
Pretty-printers for GDB
Debug-information on demand
Exploring profile-guided optimization
Feasibility study on reducing the size of an a-HfO2 dataset using a parallel method based on HDBSCAN and ACE. A parallel Julia implementation of a state of the art method will be required as well as the proposal of an improved version aligned to CESMIX objectives. Description here. Contact: Emmanuel Lujan (eljn AT mit DOT edu)
One of the main challenges of atomistic simulations is the acceleration of force calculations. Machine learning potentials promise the accuracy of first-principles methods at a lower computational cost. Simplifying the creation of these potentials (composed of data, descriptors and learning methods) enables systematizing the search for those combinations that exceed the accuracy and performance of the state of the art. This requires the development of new software abstractions and parallel tools. A more detailed description of the project can be found here. Contact: Emmanuel Lujan (eljn AT mit DOT edu).