User Tools

Site Tools


howto:compile_on_windows

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
howto:compile_on_windows [2023/12/01 08:56] – add do_regtest krackhowto:compile_on_windows [2023/12/01 14:07] (current) krack
Line 74: Line 74:
 export OMP_NUM_THREADS=2 export OMP_NUM_THREADS=2
 </code> </code>
-The binaries with the file extension ''sopt'' are automatically run with only one OpenMP thread. It is also suggest to use an increased ''OMP_STACKSIZE'' of at least 16 MB+The binaries with the file extension ''sopt'' are automatically run with only one OpenMP thread. 
 + 
 +It is also suggested to increase the ''OMP_STACKSIZE'' to at least 16 MB
 <code> <code>
 export OMP_STACKSIZE=16M export OMP_STACKSIZE=16M
 +ulimit -s 65000
 +</code>
 +and the ''stacksize'' to 65 MB (check with ''ulimit -a'').
 </code> </code>
  
Line 89: Line 94:
 make -j ARCH=local VERSION=ssmp TESTOPTS="--restrictdir QS/regtest-gpw-1" test make -j ARCH=local VERSION=ssmp TESTOPTS="--restrictdir QS/regtest-gpw-1" test
 </code> </code>
-which will only run the test cases in the folder ''~/github/cp2k/cp2k/tests/QS/regtest-1''. You can list all available ''TESTOPTS' with+which will only run the test cases in the folder ''~/github/cp2k/cp2k/tests/QS/regtest-1''. You can list all available ''TESTOPTS'' with
 <code> <code>
 ~/github/cp2k/cp2k/tests/do_regtest.py -h ~/github/cp2k/cp2k/tests/do_regtest.py -h
 </code> </code>
 +All data generated by ''test'' can be removed with
 +<code>
 +make ARCH=local VERSION=ssmp testclean
 +</code>
 +whereas
 +<code>
 +make ARCH=local VERSION=ssmp realclean
 +</code>
 +and
 +<code>
 +make distclean
 +</code>
 +will remove all data from ''make ARCH=local VERSION=ssmp'' and from any ''make'', respectively.
  
 ==== Build and test a parallel CP2K binary ==== ==== Build and test a parallel CP2K binary ====
Line 139: Line 157:
 cp2k.ssmp cp2k.ssmp
 </code> </code>
-and likewise with ''cp2k.sopt'' or ''cp2k.psmp''.+and likewise with ''cp2k.sopt''
 + 
 +CP2K MPI/OpenMP parallel runs are launched with ''mpirun'' or ''mpiexec'', e.g. 
 +<code> 
 +mpiexec -n 4 -genv OMP_NUM_THREADS=2 cp2k.psmp H2O-32.inp 
 +</code> 
 +will use 4 MPI ranks with 2 OpenMP threads each (i.e. it will consume 8 CPU cores) to run the input file ''H2O-32.inp'' which can be found in  the cp2k folder ''benchmarks/QS''
 + 
 +The ''cp2k.popt'' binary is only MPI parallel and will run just one thread per MPI rank automatically (like ''cp2k.sopt'') which is usually the most efficient usage of CP2K performance-wise if no memory limitation per MPI rank come into play. Therefore, the following commands 
 +<code> 
 +mpiexec -n 4 -genv OMP_NUM_THREADS=1 cp2k.psmp H2O-32.inp 
 +mpiexec -n 4                         cp2k.popt H2O-32.inp 
 +</code> 
 +are basically equivalent.
  
-**Enjoy CP2K !**+**Enjoy CP2K under Windows!**
howto/compile_on_windows.1701421016.txt.gz · Last modified: 2023/12/01 08:56 by krack