root/ompi/mca/topo/base/topo_base_cart_get.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. mca_topo_base_cart_get

   1 /*
   2  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
   3  *                         University Research and Technology
   4  *                         Corporation.  All rights reserved.
   5  * Copyright (c) 2004-2013 The University of Tennessee and The University
   6  *                         of Tennessee Research Foundation.  All rights
   7  *                         reserved.
   8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
   9  *                         University of Stuttgart.  All rights reserved.
  10  * Copyright (c) 2004-2005 The Regents of the University of California.
  11  *                         All rights reserved.
  12  * Copyright (c) 2008      Cisco Systems, Inc.  All rights reserved.
  13  * Copyright (c) 2012-2013 Inria.  All rights reserved.
  14  * $COPYRIGHT$
  15  *
  16  * Additional copyrights may follow
  17  *
  18  * $HEADER$
  19  */
  20 
  21 #include "ompi_config.h"
  22 
  23 #include <string.h>
  24 
  25 #include "ompi/mca/topo/base/base.h"
  26 #include "ompi/communicator/communicator.h"
  27 
  28 /*
  29  * function - retrieves Cartesian topology information associated with a
  30  *            communicator
  31  *
  32  * @param comm communicator with cartesian structure (handle)
  33  * @param maxdims length of vectors  'dims', 'periods', and 'coords'
  34  *                 in the calling program (integer)
  35  * @param dims number of processes for each cartesian dimension (array of integer)
  36  * @param periods periodicity (true/false) for each cartesian dimension
  37  *                (array of logical)
  38  * @param coords coordinates of calling process in cartesian structure
  39  *               (array of integer)
  40  *
  41  * @retval MPI_SUCCESS
  42  */
  43 int mca_topo_base_cart_get(ompi_communicator_t* comm,
  44                            int maxdims,
  45                            int *dims,
  46                            int *periods,
  47                            int *coords)
  48 {
  49     int m = (maxdims <= comm->c_topo->mtc.cart->ndims) ?
  50         maxdims : comm->c_topo->mtc.cart->ndims;
  51 
  52     memcpy(dims, comm->c_topo->mtc.cart->dims, m * sizeof(int));
  53     memcpy(periods, comm->c_topo->mtc.cart->periods, m * sizeof(int));
  54     memcpy(coords, comm->c_topo->mtc.cart->coords, m * sizeof(int));
  55 
  56     return MPI_SUCCESS;
  57 }

/* [<][>][^][v][top][bottom][index][help] */