Rate This Document
Findability
Accuracy
Completeness
Readability

Running and Verification

Procedure

  1. Use PuTTY to log in to the server as the root user.
  2. Configure the environment variables of the ARPS executable file.
    export PATH=/path/to/ARPS/arps5.3.4/bin:$PATH
  3. Go to the test directory.
    cd /path/to/ARPS/arps5.3.4/sounding
  4. Run the serial ARPS.
    { time -p arps ../input/arps.input arps.output ; } 2>&1 | tee -a arps.log
  5. Modify the input file arps.input.
    sed -i '211s/nproc_x = 1/nproc_x = 8/g' ../input/arps.input
    sed -i '212s/nproc_y = 1/nproc_y = 16/g' ../input/arps.input

    nproc_x indicates the number of processes in the x direction, and nproc_y indicates the number of processes in the y direction. The product of nproc_x and nproc_y must be the same as the value of np in 6.

  6. Run the parallel ARPS.
    { time -p mpirun --allow-run-as-root -mca pml ucx -mca btl ^vader,tcp,openib,uct -x UCX_TLS=self,sm --bind-to core --map-by socket --rank-by core -x UCX_BUILTIN_ALLREDUCE_ALGORITHM=8 -np 128 arps_mpi ../input/arps.input arps.output ; } 2>&1 | tee -a arps_mpi_128.log

    The -np parameter indicates the total number of processes.

  7. View the last line real in the arps.log and arps_mpi_128.log files. A smaller value indicates a higher performance.
    vi arps.log

    Or

    vi arps_mpi_128.log
    Note: The following floating-point exceptions are signalling: IEEE_UNDERFLOW_FLAG
    Note: The following floating-point exceptions are signalling: IEEE_UNDERFLOW_FLAG
    real 11.96
    user 1195.39
    sys 145.14