IRPF90: a Fortran code generator for HPC

Event Sponsor: 
Argonne Leadership Computing Facility Seminar
Start Date: 
Jul 13 2017 - 11:00am
Building 240/Room 4301
Argonne National Laboratory
Anthony Scemama
Speaker(s) Title: 
Laboratoire de Chimie et Physique Quantiques, France
Anouar Benali

IRPF90 is a Fortran code generator which helps the development of large Fortran codes. In Fortran programs, the programmer has to focus on the order of the instructions: before using a variable, the programmer has to be sure that it has already been computed in all possible situations. For large codes, it is common source of error.

Using IRPF90 most of the order of instructions is handled by the pre-processor, and a mechanism guarantees that every entity is built before being used. This mechanism, relies on the {needs/needed by} relations between the entities, which are built automatically. The consequence is that the programmer doesn’t need to know the production tree of each entity.

Codes written with IRPF90 execute usually faster than Fortran programs, are quicker to write and easier to maintain than standard Fortran programs.

IRPF90: a programming environment for high performance computing, arXiv:0909.5012 cs.SE

After a dual master's degree in Computational Chemistry and Computer Science, Dr. Scemama obtained his PhD degree  in Computational Chemistry in 2004 from the University Paris VI(France). He then spent two years as a post-doc working on quantum Monte Carlo algorithms. In 2006, he obtained a research engineer position at the Laboratoire de Chimie et Physique Quantiques in Toulouse (France). His work consists in developing algorithms and software tools to benefit from massively parallel architectures. He is the main developer of the IRPF90 Fortran code generator, the QMC=Chem massively parallel quantum Monte Carlo program and the Easy  Fortran I/O library generator (EZFIO) the quantum package : a quantum chemistry library based on the IRPF90 environment.

Miscellaneous Information: 

Please click below to add this event to your calendar.