====== Downloading CP2K ====== ===== What can be downloaded ? ===== The source of CP2K is open and freely available for everybody under [[http://www.gnu.org/licenses/gpl.html#TOC1| the GPL license]]. Installation instructions can be found [[howto:compile | on the wiki]] and in the [[https://github.com/cp2k/cp2k/blob/master/INSTALL.md|INSTALL.md]] file which is part of the download. The sparse matrix library DBCSR is part of CP2K, and made available standalone at [[dbcsr | 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 [[version_history| the version history]] might help you to decide. ===== How to download ===== ==== From an official release ==== Sources of released versions are available at our [[https://github.com/cp2k/cp2k/releases/ |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 ==== [[https://packages.debian.org/search?keywords=cp2k|{{debian_logo.png?100}}]] [[https://src.fedoraproject.org/rpms/cp2k|{{fedora_logo.png?150}}]] [[https://packages.ubuntu.com/search?keywords=cp2k|{{ubuntu_logo.png?150}}]] [[https://aur.archlinux.org/packages/cp2k|{{arch_linux_logo.png?150}}]] [[https://formulae.brew.sh/formula/cp2k|{{homebrew_logo.png?150}}]] [[https://hub.docker.com/r/cp2k/cp2k|{{docker_logo.png?150}}]] [[https://catalog.ngc.nvidia.com/orgs/hpc/containers/cp2k|{{nvidia-ngc.png?150}}]] [[http://easybuild.readthedocs.io/en/latest/version-specific/Supported_software.html#list-software-cp2k-272|{{easybuild_logo_alpha.png?150}}]] [[https://packages.spack.io/package.html?name=cp2k|{{spack-logo.png?100}}]] [[https://anaconda.org/conda-forge/cp2k|{{conda_forge_logo.png?150}}]] [[https://search.nixos.org/packages?query=cp2k|{{nixos_logo.png?150}}]] [[https://www.freshports.org/science/cp2k/|{{freebsd_logo.png?150}}]] ==== From a third party ==== * Debian/Ubuntu alternative: http://packages.mccode.org/ ==== Install CP2K on other Operating Systems ==== * [[https://www.cp2k.org/howto:compile_on_windows|Windows]] * [[https://www.cp2k.org/howto:compile_on_macos|MacOS]] /* [[https://www.cp2k.org/howto:compile_on_windows|{{Windows_2021.png?150 }}]] [[https://www.cp2k.org/howto:compile_on_macos|{{ MacOS-logo.png?100 }}]] */ ==== Git Access ==== The code in Git is under constant development. Check the [[http://dashboard.cp2k.org| Dashboard]] for current issues. The [[https://git-scm.com/|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 [[https://github.com/cp2k/cp2k/|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 [[https://github.com/cp2k/cp2k/|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