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
Last revisionBoth sides next revision
howto:compile_on_windows [2023/12/01 08:57] krackhowto:compile_on_windows [2023/12/01 13:28] 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 93: Line 98:
 ~/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.txt · Last modified: 2023/12/01 14:07 by krack