Skip to main content

A Python interface to tmLQCD for Lyncs

Project description

A Python interface to tmLQCD for Lyncs

python pypi license build & test codecov pylint black

tmLQCD is the simulation library used by the Extended Twisted Mass Collaboration (ETMC). tmLQCD is a freely available software suite providing a set of tools to be used in lattice QCD simulations. This is mainly a (P/R)HMC implementation for Wilson and Wilson twisted mass fermions and inverter for different versions of the Dirac operator.

The code is fully parallelised and ships with optimisations for various modern architectures, such as commodity PC clusters and the Blue Gene family.

Installation

The package can be installed via pip:

pip install [--user] lyncs_tmLQCD

External dependencies

For compiling tmLQCD, a fortran compiler, flex, openblas and lapack are required.

These can be installed via apt:

apt install -y flex libopenblas-dev liblapack-dev gfortran

OR using conda:

conda install -c anaconda openblas
conda install -c conda-forge flex lapack fortran-compiler

Documentation

Contributing

When contributing to the package, clone the source from github:

git clone https://github.com/Lyncs-API/lyncs.tmLQCD
cd lyncs.tmLQCD

install the package in development mode:

pip install -e .[all]

and run the test-suite for checking the correctness of the installation:

pytest -v

If everything goes well, you should see all the tests passed and obtain a coverage report.

A main implementation requirement is an high code-coverage. If you are going to implement something new, please, also add the respective test files or functions in the test/ directory.

Another implementation requirement is to format the code via black and to use pylint for improving the code standard.

These packages can be installed via pip:

pip install black pylint

Before any commit, run black from the source directory:

black .

When you are done with the implementation, try to resolve as many comments/warnings/errors as possible brought up by pylint:

pylint lyncs_tmLQCD

NOTE: pylint and black are incompatible in few formatting assumptions. Please, ignore the comments C0303 and C0330 of pylint. If they show up in the files you have edited/added, please, add the following line after the documentation string at the beginning of the respective files:

# pylint: disable=C0303,C0330

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lyncs_tmLQCD-0.0.0.tar.gz (7.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page