root/ompi/mca/crcp/base/crcp_base_fns.c

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

DEFINITIONS

This source file includes following definitions.
  1. ompi_crcp_base_none_open
  2. ompi_crcp_base_none_close
  3. ompi_crcp_base_none_query
  4. ompi_crcp_base_module_init
  5. ompi_crcp_base_module_finalize
  6. ompi_crcp_base_none_quiesce_start
  7. ompi_crcp_base_none_quiesce_end
  8. ompi_crcp_base_none_pml_enable
  9. ompi_crcp_base_none_pml_add_comm
  10. ompi_crcp_base_none_pml_del_comm
  11. ompi_crcp_base_none_pml_add_procs
  12. ompi_crcp_base_none_pml_del_procs
  13. ompi_crcp_base_none_pml_progress
  14. ompi_crcp_base_none_pml_iprobe
  15. ompi_crcp_base_none_pml_probe
  16. ompi_crcp_base_none_pml_isend_init
  17. ompi_crcp_base_none_pml_isend
  18. ompi_crcp_base_none_pml_send
  19. ompi_crcp_base_none_pml_irecv_init
  20. ompi_crcp_base_none_pml_irecv
  21. ompi_crcp_base_none_pml_recv
  22. ompi_crcp_base_none_pml_dump
  23. ompi_crcp_base_none_pml_start
  24. ompi_crcp_base_none_pml_ft_event
  25. ompi_crcp_base_none_request_complete
  26. ompi_crcp_base_none_btl_add_procs
  27. ompi_crcp_base_none_btl_del_procs
  28. ompi_crcp_base_none_btl_register
  29. ompi_crcp_base_none_btl_finalize
  30. ompi_crcp_base_none_btl_alloc
  31. ompi_crcp_base_none_btl_free
  32. ompi_crcp_base_none_btl_prepare_src
  33. ompi_crcp_base_none_btl_prepare_dst
  34. ompi_crcp_base_none_btl_send
  35. ompi_crcp_base_none_btl_put
  36. ompi_crcp_base_none_btl_get
  37. ompi_crcp_base_none_btl_dump
  38. ompi_crcp_base_none_btl_ft_event
  39. ompi_crcp_base_quiesce_start
  40. ompi_crcp_base_quiesce_end

   1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
   2 /*
   3  * Copyright (c) 2004-2010 The Trustees of Indiana University.
   4  *                         All rights reserved.
   5  * Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
   6  *                         All rights reserved.
   7  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
   8  *                         University of Stuttgart.  All rights reserved.
   9  * Copyright (c) 2004-2005 The Regents of the University of California.
  10  *                         All rights reserved.
  11  * Copyright (c) 2015      Los Alamos National Security, LLC.  All rights
  12  *                         reserved.
  13  * $COPYRIGHT$
  14  *
  15  * Additional copyrights may follow
  16  *
  17  * $HEADER$
  18  */
  19 
  20 #include "ompi_config.h"
  21 
  22 #ifdef HAVE_SYS_TYPES_H
  23 #include <sys/types.h>
  24 #endif
  25 #ifdef HAVE_UNISTD_H
  26 #include <unistd.h>
  27 #endif
  28 #include <time.h>
  29 #include <ctype.h>
  30 
  31 #include "opal/class/opal_bitmap.h"
  32 #include "ompi/mca/mca.h"
  33 #include "opal/mca/base/base.h"
  34 #include "opal/mca/base/base.h"
  35 #include "opal/mca/crs/crs.h"
  36 #include "opal/mca/crs/base/base.h"
  37 
  38 #include "ompi/communicator/communicator.h"
  39 #include "ompi/proc/proc.h"
  40 #include "ompi/mca/crcp/crcp.h"
  41 #include "ompi/mca/crcp/base/base.h"
  42 #include "ompi/mca/bml/base/base.h"
  43 #include "ompi/info/info.h"
  44 #include "ompi/mca/pml/pml.h"
  45 #include "ompi/mca/pml/base/base.h"
  46 #include "ompi/mca/pml/base/pml_base_request.h"
  47 
  48 /******************
  49  * Local Functions
  50  ******************/
  51 
  52 /******************
  53  * Object stuff
  54  ******************/
  55 OBJ_CLASS_INSTANCE(ompi_crcp_base_pml_state_t,
  56                    opal_free_list_item_t,
  57                    NULL,
  58                    NULL
  59                    );
  60 
  61 OBJ_CLASS_INSTANCE(ompi_crcp_base_btl_state_t,
  62                    opal_free_list_item_t,
  63                    NULL,
  64                    NULL
  65                    );
  66 
  67 /***********************
  68  * None component stuff
  69  ************************/
  70 int ompi_crcp_base_none_open(void)
  71 {
  72     return OMPI_SUCCESS;
  73 }
  74 
  75 int ompi_crcp_base_none_close(void)
  76 {
  77     return OMPI_SUCCESS;
  78 }
  79 
  80 int ompi_crcp_base_none_query(mca_base_module_t **module, int *priority)
  81 {
  82     *module = NULL;
  83     *priority = 0;
  84 
  85     return OPAL_SUCCESS;
  86 }
  87 
  88 int ompi_crcp_base_module_init(void)
  89 {
  90     return OMPI_SUCCESS;
  91 }
  92 
  93 int ompi_crcp_base_module_finalize(void)
  94 {
  95     return OMPI_SUCCESS;
  96 }
  97 
  98 /****************
  99  * MPI Quiesce Interface
 100  ****************/
 101 int ompi_crcp_base_none_quiesce_start(MPI_Info *info)
 102 {
 103     return OMPI_SUCCESS;
 104 }
 105 
 106 int ompi_crcp_base_none_quiesce_end(MPI_Info *info)
 107 {
 108     return OMPI_SUCCESS;
 109 }
 110 
 111 /****************
 112  * PML Wrapper
 113  ****************/
 114 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_enable( bool enable,
 115                                                             ompi_crcp_base_pml_state_t* pml_state )
 116 {
 117     pml_state->error_code = OMPI_SUCCESS;
 118     return pml_state;
 119 }
 120 
 121 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_add_comm( struct ompi_communicator_t* comm,
 122                                                               ompi_crcp_base_pml_state_t* pml_state )
 123 {
 124     pml_state->error_code = OMPI_SUCCESS;
 125     return pml_state;
 126 }
 127 
 128 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_del_comm( struct ompi_communicator_t* comm,
 129                                                               ompi_crcp_base_pml_state_t* pml_state )
 130 {
 131     pml_state->error_code = OMPI_SUCCESS;
 132     return pml_state;
 133 }
 134 
 135 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_add_procs( struct ompi_proc_t **procs,
 136                                                                size_t nprocs,
 137                                                                ompi_crcp_base_pml_state_t* pml_state )
 138 {
 139     pml_state->error_code = OMPI_SUCCESS;
 140     return pml_state;
 141 }
 142 
 143 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_del_procs( struct ompi_proc_t **procs,
 144                                                                size_t nprocs,
 145                                                                ompi_crcp_base_pml_state_t* pml_state )
 146 {
 147     pml_state->error_code = OMPI_SUCCESS;
 148     return pml_state;
 149 }
 150 
 151 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_progress(ompi_crcp_base_pml_state_t* pml_state)
 152 {
 153     pml_state->error_code = OMPI_SUCCESS;
 154     return pml_state;
 155 }
 156 
 157 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_iprobe(int dst, int tag,
 158                                                            struct ompi_communicator_t* comm,
 159                                                            int *matched, ompi_status_public_t* status,
 160                                                            ompi_crcp_base_pml_state_t* pml_state )
 161 {
 162     pml_state->error_code = OMPI_SUCCESS;
 163     return pml_state;
 164 }
 165 
 166 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_probe( int dst, int tag,
 167                                                            struct ompi_communicator_t* comm,
 168                                                            ompi_status_public_t* status,
 169                                                            ompi_crcp_base_pml_state_t* pml_state )
 170 {
 171     pml_state->error_code = OMPI_SUCCESS;
 172     return pml_state;
 173 }
 174 
 175 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_isend_init( void *buf, size_t count,
 176                                                                 ompi_datatype_t *datatype,
 177                                                                 int dst, int tag,
 178                                                                 mca_pml_base_send_mode_t mode,
 179                                                                 struct ompi_communicator_t* comm,
 180                                                                 struct ompi_request_t **request,
 181                                                                 ompi_crcp_base_pml_state_t* pml_state )
 182 {
 183     pml_state->error_code = OMPI_SUCCESS;
 184     return pml_state;
 185 }
 186 
 187 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_isend( void *buf, size_t count,
 188                                                            ompi_datatype_t *datatype,
 189                                                            int dst, int tag,
 190                                                            mca_pml_base_send_mode_t mode,
 191                                                            struct ompi_communicator_t* comm,
 192                                                            struct ompi_request_t **request,
 193                                                            ompi_crcp_base_pml_state_t* pml_state )
 194 {
 195     pml_state->error_code = OMPI_SUCCESS;
 196     return pml_state;
 197 }
 198 
 199 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_send(  void *buf, size_t count,
 200                                                            ompi_datatype_t *datatype,
 201                                                            int dst, int tag,
 202                                                            mca_pml_base_send_mode_t mode,
 203                                                            struct ompi_communicator_t* comm,
 204                                                            ompi_crcp_base_pml_state_t* pml_state )
 205 {
 206     pml_state->error_code = OMPI_SUCCESS;
 207     return pml_state;
 208 }
 209 
 210 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_irecv_init( void *buf, size_t count,
 211                                                                 ompi_datatype_t *datatype,
 212                                                                 int src, int tag,
 213                                                                 struct ompi_communicator_t* comm,
 214                                                                 struct ompi_request_t **request,
 215                                                                 ompi_crcp_base_pml_state_t* pml_state)
 216 {
 217     pml_state->error_code = OMPI_SUCCESS;
 218     return pml_state;
 219 }
 220 
 221 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_irecv( void *buf, size_t count,
 222                                                            ompi_datatype_t *datatype,
 223                                                            int src, int tag,
 224                                                            struct ompi_communicator_t* comm,
 225                                                            struct ompi_request_t **request,
 226                                                            ompi_crcp_base_pml_state_t* pml_state )
 227 {
 228     pml_state->error_code = OMPI_SUCCESS;
 229     return pml_state;
 230 }
 231 
 232 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_recv(  void *buf, size_t count,
 233                                                            ompi_datatype_t *datatype,
 234                                                            int src, int tag,
 235                                                            struct ompi_communicator_t* comm,
 236                                                            ompi_status_public_t* status,
 237                                                            ompi_crcp_base_pml_state_t* pml_state)
 238 {
 239     pml_state->error_code = OMPI_SUCCESS;
 240     return pml_state;
 241 }
 242 
 243 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_dump( struct ompi_communicator_t* comm,
 244                                                           int verbose,
 245                                                           ompi_crcp_base_pml_state_t* pml_state )
 246 {
 247     pml_state->error_code = OMPI_SUCCESS;
 248     return pml_state;
 249 }
 250 
 251 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_start( size_t count,
 252                                                            ompi_request_t** requests,
 253                                                            ompi_crcp_base_pml_state_t* pml_state )
 254 {
 255     pml_state->error_code = OMPI_SUCCESS;
 256     return pml_state;
 257 }
 258 
 259 ompi_crcp_base_pml_state_t* ompi_crcp_base_none_pml_ft_event(int state,
 260                                                              ompi_crcp_base_pml_state_t* pml_state)
 261 {
 262     pml_state->error_code = OMPI_SUCCESS;
 263     return pml_state;
 264 }
 265 
 266 /********************
 267  * Request Interface
 268  ********************/
 269 int ompi_crcp_base_none_request_complete( struct ompi_request_t *request ) {
 270     return OMPI_SUCCESS;
 271 }
 272 
 273 /********************
 274  * BTL Interface
 275  ********************/
 276 ompi_crcp_base_btl_state_t*
 277 ompi_crcp_base_none_btl_add_procs( struct mca_btl_base_module_t* btl,
 278                                    size_t nprocs,
 279                                    struct ompi_proc_t** procs,
 280                                    struct mca_btl_base_endpoint_t** endpoints,
 281                                    struct opal_bitmap_t* reachable,
 282                                    ompi_crcp_base_btl_state_t* btl_state)
 283 {
 284     btl_state->error_code = OMPI_SUCCESS;
 285     return btl_state;
 286 }
 287 
 288 ompi_crcp_base_btl_state_t*
 289 ompi_crcp_base_none_btl_del_procs( struct mca_btl_base_module_t* btl,
 290                                    size_t nprocs,
 291                                    struct ompi_proc_t** procs,
 292                                    struct mca_btl_base_endpoint_t** endpoints,
 293                                    ompi_crcp_base_btl_state_t* btl_state)
 294 {
 295     btl_state->error_code = OMPI_SUCCESS;
 296     return btl_state;
 297 }
 298 
 299 ompi_crcp_base_btl_state_t*
 300 ompi_crcp_base_none_btl_register( struct mca_btl_base_module_t* btl,
 301                                   mca_btl_base_tag_t tag,
 302                                   mca_btl_base_module_recv_cb_fn_t cbfunc,
 303                                   void* cbdata,
 304                                   ompi_crcp_base_btl_state_t* btl_state)
 305 {
 306     btl_state->error_code = OMPI_SUCCESS;
 307     return btl_state;
 308 }
 309 
 310 ompi_crcp_base_btl_state_t*
 311 ompi_crcp_base_none_btl_finalize( struct mca_btl_base_module_t* btl,
 312                                   ompi_crcp_base_btl_state_t* btl_state)
 313 {
 314     btl_state->error_code = OMPI_SUCCESS;
 315     return btl_state;
 316 }
 317 
 318 ompi_crcp_base_btl_state_t*
 319 ompi_crcp_base_none_btl_alloc( struct mca_btl_base_module_t* btl,
 320                                size_t size,
 321                                ompi_crcp_base_btl_state_t* btl_state)
 322 {
 323     btl_state->error_code = OMPI_SUCCESS;
 324     return btl_state;
 325 }
 326 
 327 ompi_crcp_base_btl_state_t*
 328 ompi_crcp_base_none_btl_free( struct mca_btl_base_module_t* btl,
 329                               mca_btl_base_descriptor_t* descriptor,
 330                               ompi_crcp_base_btl_state_t* btl_state)
 331 {
 332     btl_state->error_code = OMPI_SUCCESS;
 333     return btl_state;
 334 }
 335 
 336 ompi_crcp_base_btl_state_t*
 337 ompi_crcp_base_none_btl_prepare_src( struct mca_btl_base_module_t* btl,
 338                                      struct mca_btl_base_endpoint_t* endpoint,
 339                                      mca_rcache_base_registration_t* registration,
 340                                      struct opal_convertor_t* convertor,
 341                                      size_t reserve,
 342                                      size_t* size,
 343                                      ompi_crcp_base_btl_state_t* btl_state)
 344 {
 345     btl_state->error_code = OMPI_SUCCESS;
 346     return btl_state;
 347 }
 348 
 349 ompi_crcp_base_btl_state_t*
 350 ompi_crcp_base_none_btl_prepare_dst( struct mca_btl_base_module_t* btl,
 351                                      struct mca_btl_base_endpoint_t* endpoint,
 352                                      mca_rcache_base_registration_t* registration,
 353                                      struct opal_convertor_t* convertor,
 354                                      size_t reserve,
 355                                      size_t* size,
 356                                      ompi_crcp_base_btl_state_t* btl_state)
 357 {
 358     btl_state->error_code = OMPI_SUCCESS;
 359     return btl_state;
 360 }
 361 
 362 ompi_crcp_base_btl_state_t*
 363 ompi_crcp_base_none_btl_send( struct mca_btl_base_module_t* btl,
 364                               struct mca_btl_base_endpoint_t* endpoint,
 365                               struct mca_btl_base_descriptor_t* descriptor,
 366                               mca_btl_base_tag_t tag,
 367                               ompi_crcp_base_btl_state_t* btl_state)
 368 {
 369     btl_state->error_code = OMPI_SUCCESS;
 370     return btl_state;
 371 }
 372 
 373 ompi_crcp_base_btl_state_t*
 374 ompi_crcp_base_none_btl_put( struct mca_btl_base_module_t* btl,
 375                              struct mca_btl_base_endpoint_t* endpoint,
 376                              struct mca_btl_base_descriptor_t* descriptor,
 377                              ompi_crcp_base_btl_state_t* btl_state)
 378 {
 379     btl_state->error_code = OMPI_SUCCESS;
 380     return btl_state;
 381 }
 382 
 383 ompi_crcp_base_btl_state_t*
 384 ompi_crcp_base_none_btl_get( struct mca_btl_base_module_t* btl,
 385                              struct mca_btl_base_endpoint_t* endpoint,
 386                              struct mca_btl_base_descriptor_t* descriptor,
 387                              ompi_crcp_base_btl_state_t* btl_state)
 388 {
 389     btl_state->error_code = OMPI_SUCCESS;
 390     return btl_state;
 391 }
 392 
 393 
 394 ompi_crcp_base_btl_state_t*
 395 ompi_crcp_base_none_btl_dump( struct mca_btl_base_module_t* btl,
 396                               struct mca_btl_base_endpoint_t* endpoint,
 397                               int verbose,
 398                               ompi_crcp_base_btl_state_t* btl_state)
 399 {
 400     btl_state->error_code = OMPI_SUCCESS;
 401     return btl_state;
 402 }
 403 
 404 ompi_crcp_base_btl_state_t*
 405 ompi_crcp_base_none_btl_ft_event(int state,
 406                                  ompi_crcp_base_btl_state_t* btl_state)
 407 {
 408     btl_state->error_code = OMPI_SUCCESS;
 409     return btl_state;
 410 }
 411 
 412 
 413 /********************
 414  * Utility functions
 415  ********************/
 416 
 417 /******************
 418  * MPI Interface Functions
 419  ******************/
 420 int ompi_crcp_base_quiesce_start(MPI_Info *info)
 421 {
 422     if( NULL != ompi_crcp.quiesce_start ) {
 423         return ompi_crcp.quiesce_start(info);
 424     } else {
 425         return OMPI_SUCCESS;
 426     }
 427 }
 428 
 429 int ompi_crcp_base_quiesce_end(MPI_Info *info)
 430 {
 431     if( NULL != ompi_crcp.quiesce_end ) {
 432         return ompi_crcp.quiesce_end(info);
 433     } else {
 434         return OMPI_SUCCESS;
 435     }
 436 }

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