By standardizing the way different machines communicate during a running process, we can analyze bigger chunks of data in less time. ROOT MPI allows to communicate ROOT’s native objects on top of the C/C++ raw data types. ROOT’s serialization methods and optimal design of the new C++ standard permits the user to focus on the the algorithm instead of low level syntax.
- Extend existing communication schemas.
- Write support for MPI files (may consider some design or idea to integrate it to TFile)
- Write a memory window, shared memory and RMA support.
- Checkpoint support at least in OpenMpi and Mpich.
- Improve the error handler system and messages in the output.
- User tools:
- Write a profiling tool.
- Write a benchmarking module.
- Integrate valgrind command to ROOTMpi command for debug.
- working implementation with tests and documentation
- A machine learning example integrated with TMVA that uses ROOTMpi
- Performance comparison with a basic example between ROOTMpi and Proof.
Requirements: Advance skills in C/C++, experience in parallel programming with MPI
- Omar Zapata Omar.Zapata@cern.ch
- Diego Restrepo firstname.lastname@example.org
- Lorenzo Moneta Lorenzo.Moneta@cern.ch