CP2K invites the community to contribute to its development! Documentation improvements, bug fixes, performance enhancements, portability issues, new features, new methods … you are encouraged to contribute so that the community as a whole can benefit.
CP2K is a large project, there is no way to study the full code, and start when that is done! Start working on small patches first, that are easy to code, to test and to integrate. Small patches are easier to review and thus will be more quickly merged to the Git master branch. As experience with the code grows, tackling larger projects becomes realistic. Developers who contribute regularly can join the developers team on Github.
Following these guidelines will avoid common mistakes and make it easier to integrate patches. It usually takes less than one hour:
The HPC package manager https://spack.io/ Spack can be used to provide a development environment for CP2K.
spackcommand is available and that you have a checkout of the CP2K source code (for the latter, follow the instructions above).
soptprofile) to make sure we collect all dependencies in one view:
spack env create -d envs/sopt
spack env activate -d envs/sopt
spack dev-build cp2k@master ~openmp ~mpi
spack build-env cp2k@master ~openmp ~mpi – bash
If you experience problems with other tools (like your editor) when inside the Spack environment, you can directly run the build command using:
spack build-env cp2k@master ~openmp ~mpi -- make VERSION=sopt