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 Spack can be used to provide a development environment for CP2K.
spack
command is available and that you have a checkout of the CP2K source code (for the latter, follow the instructions above).
cd cp2k
sopt
profile) 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
make VERSION=sopt
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