howto:compile_on_windows
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
howto:compile_on_windows [2023/12/01 00:31] – krack | howto:compile_on_windows [2023/12/01 13:24] – krack | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== How to Compile CP2K on Windows ====== | ====== How to Compile CP2K on Windows ====== | ||
- | This howto has been tested under Windows10 using the Windows Subsystem for Linux (WSL). | + | This howto has been tested under Windows10 |
==== Install Linux base system ==== | ==== Install Linux base system ==== | ||
Line 74: | Line 74: | ||
export OMP_NUM_THREADS=2 | export OMP_NUM_THREADS=2 | ||
</ | </ | ||
- | The binaries with the file extension '' | + | The binaries with the file extension '' |
+ | |||
+ | It is also suggested | ||
< | < | ||
export OMP_STACKSIZE=16M | export OMP_STACKSIZE=16M | ||
+ | ulimit -s 65000 | ||
+ | </ | ||
+ | and the '' | ||
</ | </ | ||
Line 85: | Line 90: | ||
make -j ARCH=local VERSION=ssmp test | make -j ARCH=local VERSION=ssmp test | ||
</ | </ | ||
- | This will more than 4000 test cases. At the end of that test, a summary is printed which should indicate that there are no '' | + | This will more than 4000 test cases. At the end of that test, a summary is printed which should indicate that there are no '' |
+ | < | ||
+ | make -j ARCH=local VERSION=ssmp TESTOPTS=" | ||
+ | </ | ||
+ | which will only run the test cases in the folder '' | ||
+ | < | ||
+ | ~/ | ||
+ | </ | ||
+ | All data generated by '' | ||
+ | < | ||
+ | make ARCH=local VERSION=ssmp testclean | ||
+ | </ | ||
+ | whereas | ||
+ | < | ||
+ | make ARCH=local VERSION=ssmp realclean | ||
+ | </ | ||
+ | and | ||
+ | < | ||
+ | make distclean | ||
+ | </ | ||
+ | will remove all data from '' | ||
+ | |||
+ | ==== Build and test a parallel CP2K binary ==== | ||
+ | |||
+ | An MPI parallel CP2K binary including all features can be built in a very similar way as the serial one. In principle, this makes only sense, if larger number of CPU cores (8 or more) is available. The '' | ||
+ | First reset the CP2K repository to the state of a fresh '' | ||
+ | < | ||
+ | git clean -fdx | ||
+ | </ | ||
+ | Install additional packages needed for an MPI/OpenMP parallel CP2K binary. Here we use the MPI implementation '' | ||
+ | < | ||
+ | sudo apt -y install mpich bzip2 unzip zlib1g-dev | ||
+ | </ | ||
+ | and some system packages for data compression have to be installed as well. | ||
+ | The CP2K toolchain for a '' | ||
+ | < | ||
+ | cd tools/ | ||
+ | ./ | ||
+ | </ | ||
+ | The commands for compiling | ||
+ | < | ||
+ | cd ../.. | ||
+ | cp tools/ | ||
+ | make -j ARCH=local VERSION=psmp | ||
+ | </ | ||
+ | and testing | ||
+ | < | ||
+ | source ~/ | ||
+ | make -j ARCH=local VERSION=psmp test | ||
+ | </ | ||
+ | the CP2K binaries are the same as above as for '' | ||
==== Last but not least ==== | ==== Last but not least ==== | ||
- | Before | + | After loading the WSL and before |
< | < | ||
source ~/ | source ~/ | ||
Line 98: | Line 153: | ||
export PATH=$PATH: | export PATH=$PATH: | ||
</ | </ | ||
- | will allow for running CP2K just with | + | will allow for running CP2K just with |
< | < | ||
cp2k.ssmp | cp2k.ssmp | ||
</ | </ | ||
+ | and likewise with '' | ||
+ | |||
+ | CP2K MPI/OpenMP parallel runs are launched with '' | ||
+ | < | ||
+ | mpiexec -n 4 -genv OMP_NUM_THREADS=2 cp2k.psmp H2O-32.inp | ||
+ | </ | ||
+ | will use 4 MPI ranks with 2 OpenMP threads each (i.e. it will consume 8 CPU cores) to run the input file '' | ||
+ | The '' | ||
- | **Enjoy CP2K!** | + | **Enjoy CP2K under Windows!** |
howto/compile_on_windows.txt · Last modified: 2023/12/01 14:07 by krack