2018-11-20 15:36:36 +01:00
|
|
|
# IRPF90
|
|
|
|
|
|
|
|
IRPF90 is a Fortran programming environment which helps the development of
|
|
|
|
large Fortran codes by applying the Implicit Reference to Parameters method (IRP).
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
In IRPF90 most of the order of instructions is handled by the pre-processor, and
|
|
|
|
an automatic 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.
|
|
|
|
|
|
|
|
Codes written with IRPF90 execute often faster than Fortran programs, are faster
|
|
|
|
to write and easier to maintain.
|
|
|
|
|
|
|
|
If you use IRPF90, please cite this paper :
|
|
|
|
[http://arxiv.org/abs/0909.5012 arXiv:0909.5012v1].
|
|
|
|
|
|
|
|
The html version is accessible
|
|
|
|
[here](IRPF90: a programming environment for high performance computing)
|
|
|
|
|
|
|
|
|
|
|
|
## Download
|
|
|
|
|
|
|
|
* [Download latest version](https://github.com/scemama/irpf90/releases/latest)
|
|
|
|
* The source files are available on [GitLab](http://gitlab.com/scemama/irpf90)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## How to use IRPF90
|
|
|
|
|
|
|
|
* [Installation]
|
|
|
|
* [Git book](http://scemama.gitbooks.io/irpf90 IRPF90 GitBook), and the
|
|
|
|
[pdf version](http://irpf90.ups-tlse.fr/files/irpf90_manual.pdf)
|
|
|
|
|
|
|
|
|
|
|
|
## Presentations
|
|
|
|
|
|
|
|
* [PDF presentation](http://irpf90.ups-tlse.fr/files/cours_irpf90.pdf)
|
|
|
|
* [PDF Presentation (in french)](http://irpf90.ups-tlse.fr/files/cours_irp1.pdf)
|
|
|
|
* [Article in HPC Magazine (in french)](http://www.hpcmagazine.fr/hpc-labs/irpf90-un-generateur-de-code-fortran-pour-le-calcul-scientifique/)
|
|
|
|
* [Presentation at HPCKP 2015 Barcelona (video in english)](https://youtu.be/TpMXkBlePSE)
|
|
|
|
* [Presentation at JDev2015 Bordeaux (video in french)](https://webcast.in2p3.fr/videos-irpf90)
|
|
|
|
|
|
|
|
|
|
|
|
## Tutorials
|
|
|
|
|
|
|
|
* [Simple Tutorial]
|
|
|
|
* [http://irpf90.ups-tlse.fr/tutorial/index.html Molecular dynamics tutorial], [pdf version](http://irpf90.ups-tlse.fr/files/irpf90_tutorial.pdf)
|
|
|
|
|
|
|
|
|
|
|
|
## Video demo ==
|
|
|
|
|
|
|
|
* [IRPF90 Demo on Vimeo](https://vimeo.com/scemama/irpf90_demo )
|
|
|
|
|
|
|
|
|
|
|
|
## Some programs written with IRPF90
|
|
|
|
|
|
|
|
* [Quantum Package](http://github.com/LCPQ/quantum_package) : Library of quantum chemistry methods
|
|
|
|
* [QMC=Chem](http://qmcchem.ups-tlse.fr) : Massively parallel Quantum Monte Carlo program for Chemistry
|
|
|
|
* [EZFIO](http://gitlab.com/scemama/EZFIO) : The Easy Fortran I/O library generator
|
|
|
|
* [Other examples here](http://www.lct.jussieu.fr/pagesperso/reinh/IRP/IRPf90.html) : Programs developed by P. Reinhardt
|
2018-11-20 15:20:35 +01:00
|
|
|
|
|
|
|
|