Changes between Version 1 and Version 2 of 2020WP/HPC-07_mocavero_mpi3


Ignore:
Timestamp:
2020-01-21T19:07:10+01:00 (9 months ago)
Author:
francesca
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • 2020WP/HPC-07_mocavero_mpi3

    v1 v2  
    2222=== Description 
    2323 
    24 {{{#!box width=25em help 
    25 Continuation of HPC-12_Mocavero_mpi3: integration of graph topology to support the routines that use a 9-point stencil, the land domain exclusion and the north fold exchanges through MPI3 neighbourhood collective communications \\ 
    26 }}} 
    2724 
    28 ''...'' 
     25This is the continuation of the work started in 2019 (HPC-12_Mocavero_mpi3). \\ 
     26 
     27MPI-3 provides new neighbourhood collective operations (i.e. MPI_Neighbor_allgather and MPI_Neighbor_alltoall) that allow to perform halo exchange with a single MPI communication call.\\ 
     28 
     29These collective communications have been integrated and tested on the NEMO code during 2019 in order to evaluate the code performance compared with the traditional point-to-point halo exchange currently implemented in NEMO. The first version of the implementation uses a cartesian topology, so it does not support 9-point stencil neither land domain exclusion and the north fold is handled as usual. The use of new collective communications has been tested on a representative kernel implementing the FCT advection scheme.\\ 
     30 
     31Preliminary tests show an improvement within a range of 18%-32% on the GYRE_PISCES configuration (with nn_GYRE=200), depending on the allocated number of cores. The output accuracy is preserved. \\ 
     32 
     33During 2020 we intend to integrate the graph topology to support the routines that use a 9-point stencil, the land domain exclusion and the north fold exchanges through MPI3 neighbourhood collective communications. \\ 
     34 
    2935 
    3036=== Implementation 
    3137 
    32 {{{#!box width=35em help 
    33 Describe flow chart of the changes in the code. \\ 
    34 List the Fortran modules and subroutines to be created/edited/deleted. \\ 
    35 Detailed list of new variables to be defined (including namelists), \\ 
    36 give for each the chosen name and description wrt coding rules. 
    37 }}} 
    3838 
    39 ''...'' 
     39Step 1: alignment of the dev_r11470_HPC_12_mpi3 branch with the new trunk\\ 
     40 
     41Step 2: integration of graph topology to allow each process to exchange halo with diagonal processes (when 9-point stencil is needed) or with non-neighbours processes (when land domain exclusion is activated or north fold has to be handled)\\ 
     42 
     43Step 3: replacement of point-to-point communications with collective ones within the NEMO code\\ 
     44 
     45 
     46 
    4047 
    4148=== Documentation updates