|
| 1 | +# Usage on Supercomputers {#page_supercomputers} |
| 2 | + |
| 3 | +## JUQUEEN |
| 4 | + |
| 5 | +There are a few steps one has to complete before using _PFASST++_ on _JUQUEEN_. |
| 6 | + |
| 7 | +1. make sure the only modules loaded are `gcc/4.8.1` and `fftw3/3.3.3` |
| 8 | + |
| 9 | +2. prepare a custom installation of _Boost_ |
| 10 | + |
| 11 | + Because at time of writing only 1.47.0 is available compiled with _XL/C++_, which does not |
| 12 | + support the C++11 features we learned to love. |
| 13 | + |
| 14 | + 1. download a recent version of _Boost_ (i.e. 1.57.0) |
| 15 | + |
| 16 | + 2. extract the archive and `cd` into it |
| 17 | + |
| 18 | + 3. run |
| 19 | + |
| 20 | + CXX=`which mpig++` CC=`which mpigcc` ./bootstrap.sh \ |
| 21 | + --with-libraries=program_options --prefix=<INSTALL_PLACE> |
| 22 | + |
| 23 | + where `INSTALL_PLACE` is something like `$HOME/progs/juqueen` |
| 24 | + |
| 25 | + 4. create file called `user-config.jam` with the following content: |
| 26 | + |
| 27 | + using gcc : 4.8.1 : mpig++ ; |
| 28 | + |
| 29 | + 5. now compile |
| 30 | + |
| 31 | + CXX=`which mpig++` CC=`which mpigcc` ./b2 --prefix=<INSTALL_PLACE> \ |
| 32 | + --reconfigure link=static stage |
| 33 | + |
| 34 | + and install |
| 35 | + |
| 36 | + CXX=`which mpig++` CC=`which mpigcc` ./b2 --prefix=<INSTALL_PLACE> \ |
| 37 | + link=static install |
| 38 | + |
| 39 | +3. go to the sources of _PFASST++_, create a build folder and step into it |
| 40 | + |
| 41 | +4. run _CMake_ |
| 42 | + |
| 43 | + cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain_juqueen.cmake \ |
| 44 | + -DCMAKE_CXX_COMPILER=`which mpig++` -DCMAKE_C_COMPILER=`which mpigcc` \ |
| 45 | + -DBOOST_ROOT=<INSTALL_PLACE> -Dpfasst_WITH_MPI=ON \ |
| 46 | + -Dpfasst_BUILD_TESTS=OFF .. |
| 47 | + |
| 48 | +5. run make |
| 49 | + |
| 50 | + make |
| 51 | + |
| 52 | +6. write your _LLSubmit_ configuration file |
| 53 | + |
| 54 | + for example for the Advection-Diffusion example: |
| 55 | + |
| 56 | + #@job_name = MPI_PFASST_test |
| 57 | + #@comment = "a little test of PFASST with MPI" |
| 58 | + #@output = mpi_pfasst_test_$(jobid)_$(stepid).out |
| 59 | + #@error = mpi_pfasst_test_$(jobid)_$(stepid).err |
| 60 | + #@environment = COPY_ALL |
| 61 | + #@job_type = bluegene |
| 62 | + #@notification = never |
| 63 | + #@wall_clock_limit = 00:10:00 |
| 64 | + #@bg_size = 1 |
| 65 | + #@bg_connectivity = TORUS |
| 66 | + #@queue |
| 67 | + runjob --np 32 --ranks-per-node 32 \ |
| 68 | + --exe <PATH_TO_BUILD_DIR>/examples/advection_diffusion/mpi_pfasst \ |
| 69 | + --args '-q' |
0 commit comments