RootMpi GSoC2012
Abstract - Provide a short (one paragraph) description of your proposal.Nowadays it is necessary to paralellize code most importantly within science areas and given the advanages that ROOT brings to the scientific calculations, mpi appears as an essential extension just because with this support it will be much easier for the user to write efficient and distributed routines without the need to resort to complicated syntaxes which we face when writing code with this separated dependencies. ROOT lacks this capability and we are giving this advantage to it to expand his usage and demand.
Application - Describe your application in detail. Provide some background, describe the work that you are expecting to do in the time leading to the GSoC start.
Details can be found in http://rootmpi.blogspot.com/p/rootmpi.html
Brief History of the project
I am working in this project for some time, and in the past I used boost to serialize data, but it changed to TMessage class thanks to Fons, Axel and Rene and all the code that I've rewritten is working in a better way. Now I have prototype to show you at https://github.com/omazapa/RootMpi.
- Communication Framework for scalar, arrays and objects datatypes also for synchronous and asynchronous communication:
- Peer to Peer Communication
- Send/Recv
- Collective Communication
- Broadcast
- Scatter
- Gather (Allgather)
- Reduce (Allreduce)
- Multidimensional Integration parallelized.
- Basic Matrix/Vectors operation parallelized, addition, substraction, scalar product,Vector/Matrix Multiplication, vector norm Blacs-like.
- GUI to compile and run RootMpi Programs that lets you select Mpi and Root options.
- Code in cmake/cpack to create debian packages and windows packages using NSIS.
- Support for linux using OpenMpi.
- Documentation and Examples
Timeline - Outline at least three milestones and describe what you are planning to have accomplished for each of them.
April 23:19:00 UTC | Accepted student proposals announced on the Google Summer of Code 2012 site. |
Community Bonding Period: | Review the state of the art, design and examples code. |
May 21: | 1 . Finish all base code(Mentor guidelines), cmake files, and packages creation.(Work in collective communication)2. Finish Broadcast (for scalars, arrays and objects) also for synchronous and asynchronous communication in RootMpiIntraCommunicator class, write test files and examples.3. Finish Scatter(for scalars, arrays and objects) in RootMpiIntraCommunicator class, write a test files and examples.4. Finish Gatter method for scalars, arrays and objects; also for synchronous and asynchronous communication in RootMpiCommunicator class, write a test files and examples
5. Finish Reduce for scalars, arrays and objects defined only on basic Mpi Operations (+,-,*,/), also for synchronous, asynchronous communication in RootMpiIntraCommunicator
|
Interim Period: | 1. Mentors give students a helping hand and guidance on their projects.
2. Apply changes and guidelines from mentor.
|
July 9:19:00 UTC | Mentors and students can begin submitting mid-term evaluations. |
July 13:19:00 UTC |
|
Interim Period: | 1. Write parallel multi-dimensional integration algorithms, examples, tests and documentation.
2. Parallelize Matrix/Vector operations, scalar product, addition and subtraction.
|
August 13: | Suggested 'pencils down' date. Take a week to scrub code, write tests, improve documentation, etc. |
August 20:19:00 UTC | Firm 'pencils down' date. Mentors, students and organization administrators can begin submitting final evaluations to Google. |
August 24:19:00 UTC |
|
- Help and guidance in data serialization, libraries design, Implementation and coupling with ROOT libraries.
Full Name: Omar Andres Zapata Mesa
email: andresete.chaos@gmail.com
Systems’ Engineering Student 3th Year
at Unirversidad de Antioquia
http://www.udea.edu.co/
ACADEMIC EVENTS
Latin America High Performance and Grid Computing - The Abdus Salam International Centre for Theoretical Physics (ICTP)
Scipy Conference 2010 at Austin Texas.
Gtoc5: with Computational Physics and Astrophysics Group (FACom)
Google Summer of Code 2010.
COMPLEMENTARY STUDIES
Computational Physics, Physics Institute, Universidad de Antioquia: Teacher Jorge Zuluaga Callejas, PhD.
Advanced Scientific Programming in Python: Teacher Fernando Perez University of California at Berkeley PhD
Orbital Mechanics: Teacher Ricardo Restrepo Msc and Ph.D Student University of Texas at Austin. Aerospatial Engineering.
Computational Numerical Methods:Teacher Jorge Zuluaga Callejas, PhD.
WORK EXPERIENCE
Head Developer Phenomenology of Fundamental Interactions Group (Gfif)http://gfif.udea.edu.co Division of computer science Gfif Developers (GfifDev)
System Manager of Regional Center for Simulation and Advanced Computing (CRESCA), University’s headquarters of research (SIU), Universidad de Antioquia (2009)
Head developer of Computer Science Developer, of Computational Physics and Astrophysics Group (FACom) Univerdiad de Antioquia.
Computer Assistant in the Journal of Physics: Sociedad Colombiana de Física. (2010)- Google Summer of Code 2010 programmer, with the python organization in scipy (Scientific Python) division in the project Ipython (Interactive Python), Mentor: Fernando Perez University of California at Berkeley.
Teacher/trainer of Scientific Computing in Python http://gfif.udea.edu.co/web/tiki-index.php?page=Extension+Python&structure=gfif+(es)
Software developer in C + + for Orbital Mechanics Group at the University of Texas at Austin, mentored by Dr. Cesar Ocampo.