A set of commonly used modules for HPC

Find us on…

GitHub Download the Source

PIC

GNU cross OS build Linux multi compiler setup Deploy FORD Docs GitHub top language License Last Commit codecov

PIC is named after the Huastec word PIC which means otter.

A work in progress on writing a cool backend for Fortan applications focused on Quantum Chemistry software.

Building and dependencies

There’s two build systems included in the present version, CMake and the Fortran Package Manager.

The dependencies of the project are, as of now, CMake (if using cmake), MPI, OpenMP, and a BLAS/LAPACK library.

Documentation

The code itself is documented using FORD and the documentation is available here.

Comments in the code that are prefixed with !! are considered documentation comments and will be processed by FORD. Comments without that prefix are considered regular comments and will not be processed by FORD. So, please do not use !! for your comments unless you want them to be included in the documentation.

CMake

CMake offers a very modular build of PIC, the following options are available and can be triggered by -DPIC_ENABLE_XYZ=ON/OFF

Option Name Default Description
PIC_DEFAULT_INT8 OFF Use 8-byte integers as default
PIC_ENABLE_MPI OFF Enable the use of MPI in PIC
PIC_ENABLE_OMP OFF Enable the use of OpenMP in PIC
PIC_ENABLE_BLAS OFF Enable BLAS/LAPACK libraries in PIC
PIC_ENABLE_TESTING ON Enable testing for PIC
PIC_ENABLE_JONQUIL OFF Enable Jonquil for JSON/TOML handling

Advanced options:

Option Name Default Description
PIC_USE_VAPAA OFF Use vapaa for binding to MPI

Information on vapaa see here which is my personal fork which is pulled from here, and Jeff’s project.

Will update to use the orignal project at a later date.

Building:

mkdir build
cd build
cmake ../
make -j
ctest

FPM

Install the FPM following the instructions and then simply: fpm build

Contributing

Please see the contributing guidelines for information on how to contribute to the project.

Developer Info

Jorge Luis Galvez Vallejo