Table of Contents

Downloading CP2K

What can be downloaded ?

The source of CP2K is open and freely available for everybody under the GPL license.

Installation instructions can be found on the wiki and in the INSTALL.md file which is part of the download.

The sparse matrix library DBCSR is part of CP2K, and made available standalone at the DBCSR page.

Available versions of CP2K

Development Version Released Version
  • Most recent
  • All new features
  • Potentially unstable / buggy
  • only available via Git
  • Older
  • Stable, no ongoing development
  • All major functionality in good shape
  • Only rare backports of bug fixes (as time permits)

Looking at the version history might help you to decide.

How to download

From an official release

Sources of released versions are available at our GitHub project page. Please use the versioned tarballs (cp2k-X.Y.tar.bz2).

Alternatively, precompiled single node, optimised CP2K versions for Linux support are available as well.

From a Distribution

From a third party

Install CP2K on other Operating Systems

Git Access

The code in Git is under constant development. Check the Dashboard for current issues.

The Git (git) program must be installed on your machine for this to work.

Initial checkout

The latest and all prior versions are available from the CP2K GitHub repository.

To clone the current master:

git clone --recursive https://github.com/cp2k/cp2k.git cp2k

or to directly checkout a branch (check the CP2K GitHub project page for available branches):

git clone --recursive -b support/v2024.3 https://github.com/cp2k/cp2k.git cp2k

Keeping your clone up-to-date (Git >= 2.14)

Set the following once on your CP2K Git clone. It will tell Git to automatically update included submodules as well and to always use rebase instead of merge.

cd cp2k
git config submodule.recurse true
git config pull.rebase true

After setting this option, update with the following:

cd cp2k
git pull

If you want to set the options globally (valid for all Git commands on your machine), you can use the --global parameter for git config:

git config --global submodule.recurse true
git config --global pull.rebase true

Keeping your clone up-to-date (Git < 2.14)

Set the following once on your CP2K Git clone. It will tell Git to always use rebase instead of merge.

cd cp2k
git config pull.rebase true

After setting this option, update with the following:

cd cp2k

git pull
git submodule update --recursive