* shell of a portals PML, properly ompi_ignored for most of the world...
This commit was SVN r7437.
Этот коммит содержится в:
родитель
75d9119cf3
Коммит
fd9901f683
0
ompi/mca/pml/portals/.ompi_ignore
Обычный файл
0
ompi/mca/pml/portals/.ompi_ignore
Обычный файл
3
ompi/mca/pml/portals/.ompi_unignore
Обычный файл
3
ompi/mca/pml/portals/.ompi_unignore
Обычный файл
@ -0,0 +1,3 @@
|
||||
brbarret
|
||||
bwbarre
|
||||
rbbrigh
|
52
ompi/mca/pml/portals/Makefile.am
Обычный файл
52
ompi/mca/pml/portals/Makefile.am
Обычный файл
@ -0,0 +1,52 @@
|
||||
#
|
||||
# Copyright (c) 2004-2005 The Trustees of Indiana University.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
# University of Stuttgart. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
# Make the output library in this directory, and name it either
|
||||
# mca_<type>_<name>.la (for DSO builds) or libmca_<type>_<name>.la
|
||||
# (for static builds).
|
||||
|
||||
AM_CPPFLAGS = $(pml_portals_CPPFLAGS)
|
||||
|
||||
if OMPI_BUILD_pml_portals_DSO
|
||||
component_noinst =
|
||||
component_install = mca_pml_portals.la
|
||||
else
|
||||
component_noinst = libmca_pml_portals.la
|
||||
component_install =
|
||||
endif
|
||||
|
||||
local_sources = \
|
||||
pml_portals.c \
|
||||
pml_portals.h \
|
||||
pml_portals_cancel.c \
|
||||
pml_portals_component.c \
|
||||
pml_portals_iprobe.c \
|
||||
pml_portals_irecv.c \
|
||||
pml_portals_isend.c \
|
||||
pml_portals_ptl.c \
|
||||
pml_portals_ptl.h \
|
||||
pml_portals_progress.c \
|
||||
pml_portals_start.c
|
||||
|
||||
mcacomponentdir = $(libdir)/openmpi
|
||||
mcacomponent_LTLIBRARIES = $(component_install)
|
||||
mca_pml_portals_la_SOURCES = $(local_sources)
|
||||
mca_pml_portals_la_LIBADD = $(pml_portals_LIBS)
|
||||
mca_pml_portals_la_LDFLAGS = -module -avoid-version $(pml_portals_LDFLAGS)
|
||||
|
||||
noinst_LTLIBRARIES = $(component_noinst)
|
||||
libmca_pml_portals_la_SOURCES = $(local_sources)
|
||||
libmca_pml_portals_la_LIBADD = $(pml_portals_LIBS)
|
||||
libmca_pml_portals_la_LDFLAGS = -module -avoid-version $(pml_portals_LDFLAGS)
|
||||
|
218
ompi/mca/pml/portals/configure.m4
Обычный файл
218
ompi/mca/pml/portals/configure.m4
Обычный файл
@ -0,0 +1,218 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (c) 2004-2005 The Trustees of Indiana University.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
# University of Stuttgart. All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Regents of the University of California.
|
||||
# All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
|
||||
# _MCA_pml_portals_config_val(config_name, define_name,
|
||||
# default_val, descrtiption)
|
||||
# -----------------------------------------------------
|
||||
AC_DEFUN([MCA_pml_portals_CONFIG_VAL], [
|
||||
AC_ARG_WITH([portals-$1], AC_HELP_STRING([--with-portals-$1],
|
||||
[$4 (default: $3)]))
|
||||
case "[$with_]m4_bpatsubst([portals-$1], -, _)" in
|
||||
"")
|
||||
$2=$3
|
||||
;;
|
||||
"no")
|
||||
AC_MSG_ERROR([--without-portals-$1 is invalid argument])
|
||||
;;
|
||||
*)
|
||||
$2="[$with_]m4_bpatsubst([portals-$1], -, _)"
|
||||
;;
|
||||
esac
|
||||
AC_DEFINE_UNQUOTED([$2], [[$]$2], [$4])
|
||||
])
|
||||
|
||||
|
||||
# _MCA_pml_portals_CONFIG_VALS()
|
||||
# ------------------------------
|
||||
AC_DEFUN([MCA_pml_portals_CONFIG_VALS], [
|
||||
# User configuration options
|
||||
MCA_pml_portals_CONFIG_VAL([debug-level],
|
||||
[OMPI_PML_PORTALS_DEFAULT_DEBUG_LEVEL], [0],
|
||||
[debugging level for portals pml])
|
||||
|
||||
MCA_pml_portals_CONFIG_VAL([eager-limit],
|
||||
[OMPI_PML_PORTALS_DEFAULT_EAGER_LIMIT], [32768],
|
||||
[max size for eager sends])
|
||||
|
||||
MCA_pml_portals_CONFIG_VAL([min-send-size],
|
||||
[OMPI_PML_PORTALS_DEFAULT_MIN_SEND_SIZE], [32768],
|
||||
[min size for send fragments])
|
||||
MCA_pml_portals_CONFIG_VAL([max-send-size],
|
||||
[OMPI_PML_PORTALS_DEFAULT_MAX_SEND_SIZE], [65536],
|
||||
[max size for send fragments])
|
||||
|
||||
MCA_pml_portals_CONFIG_VAL([md-size],
|
||||
[OMPI_PML_PORTALS_DEFAULT_RECV_MD_SIZE], [1048576],
|
||||
[Size of receive memory descriptors])
|
||||
MCA_pml_portals_CONFIG_VAL([md-size],
|
||||
[OMPI_PML_PORTALS_DEFAULT_RECV_MD_NUM], [3],
|
||||
[Number of receive memory descriptors])
|
||||
|
||||
MCA_pml_portals_CONFIG_VAL([min-rdma-size],
|
||||
[OMPI_PML_PORTALS_DEFAULT_MIN_RDMA_SIZE], [65536],
|
||||
[min size for rdma fragments])
|
||||
MCA_pml_portals_CONFIG_VAL([max-rdma-size],
|
||||
[OMPI_PML_PORTALS_DEFAULT_MAX_RDMA_SIZE], [2147483647],
|
||||
[max size for rdma fragments])
|
||||
|
||||
MCA_pml_portals_CONFIG_VAL([max-sends-pending],
|
||||
[OMPI_PML_PORTALS_MAX_SENDS_PENDING], [128],
|
||||
[max number of sends pending at any time])
|
||||
MCA_pml_portals_CONFIG_VAL([recv-queue-size],
|
||||
[OMPI_PML_PORTALS_DEFAULT_RECV_QUEUE_SIZE], [512],
|
||||
[size of event queue for receiving frags])
|
||||
|
||||
MCA_pml_portals_CONFIG_VAL([free-list-init-num],
|
||||
[OMPI_PML_PORTALS_DEFAULT_FREE_LIST_INIT_NUM], [8],
|
||||
[starting size of free lists])
|
||||
MCA_pml_portals_CONFIG_VAL([free-list-max-num],
|
||||
[OMPI_PML_PORTALS_DEFAULT_FREE_LIST_MAX_NUM], [1024],
|
||||
[maximum size of free lists])
|
||||
MCA_pml_portals_CONFIG_VAL([free-list-inc-num],
|
||||
[OMPI_PML_PORTALS_DEFAULT_FREE_LIST_INC_NUM], [32],
|
||||
[grow size for freelists])
|
||||
])
|
||||
|
||||
|
||||
# _MCA_pml_portals_CONFIG_PLATFORM()
|
||||
# ----------------------------------
|
||||
AC_DEFUN([MCA_pml_portals_CONFIG_PLATFORM], [
|
||||
# Configure Portals for our local environment
|
||||
PML_PORTALS_UTCP=0
|
||||
PML_PORTALS_REDSTORM=0
|
||||
PML_PORTALS_COMPAT=""
|
||||
PML_PORTALS_HAVE_EVENT_UNLINK=0
|
||||
pml_portals_compat="none"
|
||||
pml_portals_header_prefix=
|
||||
pml_portals_starting_table_id=0
|
||||
AC_ARG_WITH([portals-config],
|
||||
AC_HELP_STRING([--with-portals-config],
|
||||
[configuration to use for Portals support.
|
||||
One of "utcp", "redstorm". (default: utcp)]))
|
||||
AC_MSG_CHECKING([for Portals configuration])
|
||||
if test "$with_portals_config" = "" ; then
|
||||
with_portals_config="utcp"
|
||||
fi
|
||||
case "$with_portals_config" in
|
||||
"utcp")
|
||||
PML_PORTALS_UTCP=1
|
||||
PML_PORTALS_HAVE_EVENT_UNLINK=1
|
||||
pml_portals_LIBS="-lutcpapi -lutcplib -lp3api -lp3lib -lp3rt"
|
||||
pml_portals_compat="utcp"
|
||||
pml_portals_header_prefix=
|
||||
pml_portals_starting_table_id=0
|
||||
AC_MSG_RESULT([utcp])
|
||||
;;
|
||||
"redstorm")
|
||||
PML_PORTALS_REDSTORM=1
|
||||
PML_PORTALS_HAVE_EVENT_UNLINK=0
|
||||
pml_portals_LIBS=
|
||||
pml_portals_compat="redstorm"
|
||||
pml_portals_header_prefix="portals/"
|
||||
pml_portals_starting_table_id=30
|
||||
AC_MSG_RESULT([red storm])
|
||||
;;
|
||||
*)
|
||||
# ok to call ERROR here - the user specified something invalid.
|
||||
# that should be brought to his attention
|
||||
AC_MSG_ERROR([unknown Portals configuration. Can not continue])
|
||||
;;
|
||||
esac
|
||||
|
||||
# Try to find all the portals libraries (this is not fun!)
|
||||
AC_ARG_WITH(pml-portals-libs,
|
||||
AC_HELP_STRING([--with-pml-portals-libs=LIBS],
|
||||
[Libraries to link with for portals]))
|
||||
if test -n "$with_portals_libs" ; then
|
||||
pml_portals_LIBS=""
|
||||
for lib in $with_portals_libs ; do
|
||||
pml_portals_LIBS="$pml_portals_LIBS -l$lib"
|
||||
done
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED([OMPI_PML_PORTALS_HAVE_EVENT_UNLINK],
|
||||
[$PML_PORTALS_HAVE_EVENT_UNLINK],
|
||||
[Does Portals send a PML_EVENT_UNLINK event])
|
||||
|
||||
AC_DEFINE_UNQUOTED([OMPI_PML_PORTALS_UTCP], [$PML_PORTALS_UTCP],
|
||||
[Use the UTCP reference implementation or Portals])
|
||||
AC_DEFINE_UNQUOTED([OMPI_PML_PORTALS_REDSTORM], [$PML_PORTALS_REDSTORM],
|
||||
[Use the Red Storm implementation or Portals])
|
||||
|
||||
AC_DEFINE_UNQUOTED([OMPI_PML_PORTALS_STARTING_TABLE_ID],
|
||||
[$pml_portals_starting_table_id],
|
||||
[first table id to use for portals pml])
|
||||
])
|
||||
|
||||
|
||||
# MCA_pml_portals_CONFIG(action-if-can-compile,
|
||||
# [action-if-cant-compile])
|
||||
# ------------------------------------------------
|
||||
AC_DEFUN([MCA_pml_portals_CONFIG],[
|
||||
# save compiler flags so that we don't alter them for later
|
||||
# components.
|
||||
pml_portals_save_CPPFLAGS="$CPPFLAGS"
|
||||
pml_portals_save_LDFLAGS="$LDFLAGS"
|
||||
pml_portals_save_LIBS="$LIBS"
|
||||
|
||||
AC_ARG_ENABLE([pml-portals],
|
||||
[AC_HELP_STRING([--enable-pml-portals],
|
||||
[Enable building of experimental Portals PML (default: disabled)])])
|
||||
AS_IF([test "$enable_pml_portals" = "yes"], [
|
||||
# allow user a way to say where the Portals installation is
|
||||
AC_ARG_WITH(portals,
|
||||
AC_HELP_STRING([--with-portals=DIR],
|
||||
[Specify the installation directory of PORTALS]))
|
||||
|
||||
AS_IF([test -n "$with_portals"],
|
||||
[AS_IF([test -d "$with_portals/include"],
|
||||
[pml_portals_CPPFLAGS="-I$with_portals/include"
|
||||
CPPFLAGS="$CPPFLAGS $pml_portals_CPPFLAGS"], [])
|
||||
AS_IF([test -d "$with_portals/lib"],
|
||||
[pml_portals_LDFLAGS="-L$with_portals/lib"
|
||||
LDFLAGS="$LDFLAGS $pml_portals_LDFLAGS"], [])])
|
||||
|
||||
# try to get our platform configuration
|
||||
MCA_pml_portals_CONFIG_PLATFORM()
|
||||
|
||||
# check for portals
|
||||
LIBS="$LIBS $pml_portals_LIBS"
|
||||
AC_CHECK_HEADERS([${pml_portals_header_prefix}portals3.h],
|
||||
[AC_MSG_CHECKING([if possible to link Portals application])
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <${pml_portals_header_prefix}portals3.h>],
|
||||
[int i; PtlInit(&i);])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
MCA_pml_portals_CONFIG_VALS()
|
||||
pml_portals_WRAPPER_EXTRA_LDFLAGS="$pml_portals_LDFLAGS"
|
||||
pml_portals_WRAPPER_EXTRA_LIBS="$pml_portals_LIBS"
|
||||
$1],
|
||||
[AC_MSG_RESULT([no])
|
||||
$2])],
|
||||
[$2])
|
||||
], [$2])
|
||||
|
||||
# substitute in the things needed to build Portals
|
||||
AC_SUBST([pml_portals_CPPFLAGS])
|
||||
AC_SUBST([pml_portals_LDFLAGS])
|
||||
AC_SUBST([pml_portals_LIBS])
|
||||
|
||||
# reset the flags for the next test
|
||||
CPPFLAGS="$pml_portals_save_CPPFLAGS"
|
||||
LDFLAGS="$pml_portals_save_LDFLAGS"
|
||||
LIBS="$pml_portals_save_LIBS"
|
||||
])dnl
|
20
ompi/mca/pml/portals/configure.params
Обычный файл
20
ompi/mca/pml/portals/configure.params
Обычный файл
@ -0,0 +1,20 @@
|
||||
# -*- shell-script -*-
|
||||
#
|
||||
# Copyright (c) 2004-2005 The Trustees of Indiana University.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
# All rights reserved.
|
||||
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
||||
# University of Stuttgart. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
# Specific to this module
|
||||
|
||||
PARAM_INIT_FILE=pml_teg.c
|
||||
PARAM_CONFIG_HEADER_FILE="portals_config.h"
|
||||
PARAM_CONFIG_FILES="Makefile"
|
63
ompi/mca/pml/portals/pml_portals.c
Обычный файл
63
ompi/mca/pml/portals/pml_portals.c
Обычный файл
@ -0,0 +1,63 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
* All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
|
||||
#include "pml_portals.h"
|
||||
#include "ompi/communicator/communicator.h"
|
||||
#include "opal/class/opal_list.h"
|
||||
|
||||
mca_pml_portals_t mca_pml_portals = {
|
||||
{
|
||||
mca_pml_portals_add_procs,
|
||||
mca_pml_portals_del_procs,
|
||||
mca_pml_portals_enable,
|
||||
mca_pml_portals_progress,
|
||||
mca_pml_portals_add_comm,
|
||||
mca_pml_portals_del_comm,
|
||||
mca_pml_portals_irecv_init,
|
||||
mca_pml_portals_irecv,
|
||||
mca_pml_portals_recv,
|
||||
mca_pml_portals_isend_init,
|
||||
mca_pml_portals_isend,
|
||||
mca_pml_portals_send,
|
||||
mca_pml_portals_iprobe,
|
||||
mca_pml_portals_probe,
|
||||
mca_pml_portals_start,
|
||||
32768, /* max tag value */
|
||||
100 /* max cid - BWB - fix me */
|
||||
}
|
||||
};
|
||||
|
||||
int mca_pml_portals_add_comm(ompi_communicator_t* comm)
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
int mca_pml_portals_del_comm(ompi_communicator_t* comm)
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
int mca_pml_portals_add_ptls(opal_list_t *ptls)
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
int mca_pml_portals_add_procs(struct ompi_proc_t** procs, size_t nprocs)
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
int mca_pml_portals_del_procs(struct ompi_proc_t** procs, size_t nprocs)
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
135
ompi/mca/pml/portals/pml_portals.h
Обычный файл
135
ompi/mca/pml/portals/pml_portals.h
Обычный файл
@ -0,0 +1,135 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
* All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#ifndef PML_EXAMPLE_H_HAS_BEEN_INCLUDED
|
||||
#define PML_EXAMPLE_H_HAS_BEEN_INCLUDED
|
||||
|
||||
#include "opal/threads/threads.h"
|
||||
#include "opal/threads/condition.h"
|
||||
#include "ompi/class/ompi_free_list.h"
|
||||
#include "opal/util/cmd_line.h"
|
||||
#include "ompi/request/request.h"
|
||||
#include "ompi/mca/pml/pml.h"
|
||||
#include "ompi/mca/ptl/ptl.h"
|
||||
#include "ompi/datatype/datatype.h"
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct mca_pml_portals_t {
|
||||
mca_pml_base_module_t super;
|
||||
|
||||
mca_ptl_base_component_t **portals_ptl_components;
|
||||
size_t portals_num_ptl_components;
|
||||
|
||||
mca_ptl_base_module_t** portals_ptl_modules;
|
||||
size_t portals_num_ptl_modules;
|
||||
|
||||
opal_list_t portals_procs;
|
||||
opal_mutex_t portals_lock;
|
||||
|
||||
/* free list of requests */
|
||||
ompi_free_list_t portals_send_requests;
|
||||
ompi_free_list_t portals_recv_requests;
|
||||
|
||||
/* list of pending send requests */
|
||||
opal_list_t portals_send_pending;
|
||||
};
|
||||
typedef struct mca_pml_portals_t mca_pml_portals_t;
|
||||
|
||||
extern mca_pml_portals_t mca_pml_portals;
|
||||
|
||||
/*
|
||||
* PML interface functions.
|
||||
*/
|
||||
extern int mca_pml_portals_add_comm( struct ompi_communicator_t* comm );
|
||||
extern int mca_pml_portals_del_comm( struct ompi_communicator_t* comm );
|
||||
|
||||
extern int mca_pml_portals_add_procs( struct ompi_proc_t **procs, size_t nprocs );
|
||||
extern int mca_pml_portals_del_procs( struct ompi_proc_t **procs, size_t nprocs );
|
||||
|
||||
extern int mca_pml_portals_add_ptls( opal_list_t *ptls );
|
||||
|
||||
extern int mca_pml_portals_enable(bool enable);
|
||||
|
||||
extern int mca_pml_portals_iprobe( int dst,
|
||||
int tag,
|
||||
struct ompi_communicator_t* comm,
|
||||
int *matched,
|
||||
ompi_status_public_t* status );
|
||||
|
||||
extern int mca_pml_portals_probe( int dst,
|
||||
int tag,
|
||||
struct ompi_communicator_t* comm,
|
||||
ompi_status_public_t* status );
|
||||
|
||||
extern int mca_pml_portals_cancel( ompi_request_t* request );
|
||||
extern int mca_pml_portals_cancelled( ompi_request_t* request, int *flag );
|
||||
|
||||
extern int mca_pml_portals_isend_init( void *buf,
|
||||
size_t count,
|
||||
ompi_datatype_t *datatype,
|
||||
int dst,
|
||||
int tag,
|
||||
mca_pml_base_send_mode_t mode,
|
||||
struct ompi_communicator_t* comm,
|
||||
struct ompi_request_t **request );
|
||||
|
||||
extern int mca_pml_portals_isend( void *buf,
|
||||
size_t count,
|
||||
ompi_datatype_t *datatype,
|
||||
int dst,
|
||||
int tag,
|
||||
mca_pml_base_send_mode_t mode,
|
||||
struct ompi_communicator_t* comm,
|
||||
struct ompi_request_t **request );
|
||||
|
||||
extern int mca_pml_portals_send( void *buf,
|
||||
size_t count,
|
||||
ompi_datatype_t *datatype,
|
||||
int dst,
|
||||
int tag,
|
||||
mca_pml_base_send_mode_t mode,
|
||||
struct ompi_communicator_t* comm );
|
||||
|
||||
extern int mca_pml_portals_irecv_init( void *buf,
|
||||
size_t count,
|
||||
ompi_datatype_t *datatype,
|
||||
int src,
|
||||
int tag,
|
||||
struct ompi_communicator_t* comm,
|
||||
struct ompi_request_t **request );
|
||||
|
||||
extern int mca_pml_portals_irecv( void *buf,
|
||||
size_t count,
|
||||
ompi_datatype_t *datatype,
|
||||
int src,
|
||||
int tag,
|
||||
struct ompi_communicator_t* comm,
|
||||
struct ompi_request_t **request );
|
||||
|
||||
extern int mca_pml_portals_recv( void *buf,
|
||||
size_t count,
|
||||
ompi_datatype_t *datatype,
|
||||
int src,
|
||||
int tag,
|
||||
struct ompi_communicator_t* comm,
|
||||
ompi_status_public_t* status );
|
||||
|
||||
extern int mca_pml_portals_progress(void);
|
||||
|
||||
extern int mca_pml_portals_start( size_t count, ompi_request_t** requests );
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* PML_EXAMPLE_H_HAS_BEEN_INCLUDED */
|
26
ompi/mca/pml/portals/pml_portals_cancel.c
Обычный файл
26
ompi/mca/pml/portals/pml_portals_cancel.c
Обычный файл
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
* All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
|
||||
#include "pml_portals.h"
|
||||
|
||||
int mca_pml_portals_cancel(ompi_request_t* request)
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
int mca_pml_portals_cancelled(ompi_request_t* request, int* flag)
|
||||
{
|
||||
if(NULL != flag)
|
||||
*flag = 0;
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
87
ompi/mca/pml/portals/pml_portals_component.c
Обычный файл
87
ompi/mca/pml/portals/pml_portals_component.c
Обычный файл
@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
* All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
|
||||
#include "opal/event/event.h"
|
||||
#include "pml_portals.h"
|
||||
#include "mca/base/mca_base_param.h"
|
||||
|
||||
static int mca_pml_portals_component_open(void);
|
||||
static int mca_pml_portals_component_close(void);
|
||||
static mca_pml_base_module_t* mca_pml_portals_component_init( int* priority,
|
||||
bool enable_progress_threads, bool enable_mpi_threads);
|
||||
static int mca_pml_portals_component_fini(void);
|
||||
|
||||
mca_pml_base_component_1_0_0_t mca_pml_portals_component = {
|
||||
|
||||
/* First, the mca_base_component_t struct containing meta
|
||||
* information about the component itself */
|
||||
|
||||
{
|
||||
/* Indicate that we are a pml v1.0.0 component (which also implies
|
||||
* a specific MCA version) */
|
||||
|
||||
MCA_PML_BASE_VERSION_1_0_0,
|
||||
|
||||
"portals", /* MCA component name */
|
||||
OMPI_MAJOR_VERSION, /* MCA component major version */
|
||||
OMPI_MINOR_VERSION, /* MCA component minor version */
|
||||
OMPI_RELEASE_VERSION, /* MCA component release version */
|
||||
mca_pml_portals_component_open, /* component open */
|
||||
mca_pml_portals_component_close /* component close */
|
||||
},
|
||||
|
||||
/* Next the MCA v1.0.0 component meta data */
|
||||
|
||||
{
|
||||
/* Whether the component is checkpointable or not */
|
||||
false
|
||||
},
|
||||
|
||||
mca_pml_portals_component_init, /* component init */
|
||||
mca_pml_portals_component_fini /* component finalize */
|
||||
};
|
||||
|
||||
|
||||
static int mca_pml_portals_component_open(void)
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
static int mca_pml_portals_component_close(void)
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
static mca_pml_base_module_t*
|
||||
mca_pml_portals_component_init( int* priority,
|
||||
bool enable_progress_threads,
|
||||
bool enable_mpi_threads)
|
||||
{
|
||||
mca_base_param_reg_int(&mca_pml_portals_component.pmlm_version,
|
||||
"priority",
|
||||
"Component priority",
|
||||
false,
|
||||
false,
|
||||
0,
|
||||
priority);
|
||||
|
||||
/* we don't run with no stinkin' threads */
|
||||
if (enable_progress_threads || enable_mpi_threads) return NULL;
|
||||
|
||||
return &mca_pml_portals.super;
|
||||
}
|
||||
|
||||
static int mca_pml_portals_component_fini(void)
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
27
ompi/mca/pml/portals/pml_portals_iprobe.c
Обычный файл
27
ompi/mca/pml/portals/pml_portals_iprobe.c
Обычный файл
@ -0,0 +1,27 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
* All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
#include "request/request.h"
|
||||
#include "pml_portals.h"
|
||||
|
||||
int mca_pml_portals_iprobe( int src, int tag,
|
||||
struct ompi_communicator_t *comm,
|
||||
int *matched, ompi_status_public_t * status )
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
int mca_pml_portals_probe( int src, int tag,
|
||||
struct ompi_communicator_t *comm,
|
||||
ompi_status_public_t * status )
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
48
ompi/mca/pml/portals/pml_portals_irecv.c
Обычный файл
48
ompi/mca/pml/portals/pml_portals_irecv.c
Обычный файл
@ -0,0 +1,48 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
* All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
#include "pml_portals.h"
|
||||
#include "request/request.h"
|
||||
|
||||
int mca_pml_portals_irecv_init( void *addr,
|
||||
size_t count,
|
||||
ompi_datatype_t * datatype,
|
||||
int src,
|
||||
int tag,
|
||||
struct ompi_communicator_t *comm,
|
||||
struct ompi_request_t **request )
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
int mca_pml_portals_irecv( void *addr,
|
||||
size_t count,
|
||||
ompi_datatype_t * datatype,
|
||||
int src,
|
||||
int tag,
|
||||
struct ompi_communicator_t *comm,
|
||||
struct ompi_request_t **request )
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int mca_pml_portals_recv( void *addr,
|
||||
size_t count,
|
||||
ompi_datatype_t * datatype,
|
||||
int src,
|
||||
int tag,
|
||||
struct ompi_communicator_t *comm,
|
||||
ompi_status_public_t * status )
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
51
ompi/mca/pml/portals/pml_portals_isend.c
Обычный файл
51
ompi/mca/pml/portals/pml_portals_isend.c
Обычный файл
@ -0,0 +1,51 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
* All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
#include "pml_portals.h"
|
||||
#include "ompi/datatype/datatype.h"
|
||||
#include "ompi/communicator/communicator.h"
|
||||
|
||||
int mca_pml_portals_isend_init( void* buf,
|
||||
size_t count,
|
||||
ompi_datatype_t* datatype,
|
||||
int dst,
|
||||
int tag,
|
||||
mca_pml_base_send_mode_t sendmode,
|
||||
ompi_communicator_t* comm,
|
||||
ompi_request_t** request )
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
int mca_pml_portals_isend( void* buf,
|
||||
size_t count,
|
||||
ompi_datatype_t* datatype,
|
||||
int dst,
|
||||
int tag,
|
||||
mca_pml_base_send_mode_t sendmode,
|
||||
ompi_communicator_t* comm,
|
||||
ompi_request_t** request )
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
int mca_pml_portals_send( void *buf,
|
||||
size_t count,
|
||||
ompi_datatype_t* datatype,
|
||||
int dst,
|
||||
int tag,
|
||||
mca_pml_base_send_mode_t sendmode,
|
||||
ompi_communicator_t* comm )
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
17
ompi/mca/pml/portals/pml_portals_progress.c
Обычный файл
17
ompi/mca/pml/portals/pml_portals_progress.c
Обычный файл
@ -0,0 +1,17 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
* All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
#include "pml_portals.h"
|
||||
|
||||
int mca_pml_portals_progress(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
13
ompi/mca/pml/portals/pml_portals_ptl.c
Обычный файл
13
ompi/mca/pml/portals/pml_portals_ptl.c
Обычный файл
@ -0,0 +1,13 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
* All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
#include "pml_portals.h"
|
||||
|
16
ompi/mca/pml/portals/pml_portals_ptl.h
Обычный файл
16
ompi/mca/pml/portals/pml_portals_ptl.h
Обычный файл
@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
* All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#ifndef PML_EXAMPLE_PTL_H_HAS_BEEN_INCLUDED
|
||||
#define PML_EXAMPLE_PTL_H_HAS_BEEN_INCLUDED
|
||||
|
||||
|
||||
|
||||
#endif /* PML_EXAMPLE_PTL_H_HAS_BEEN_INCLUDED */
|
17
ompi/mca/pml/portals/pml_portals_start.c
Обычный файл
17
ompi/mca/pml/portals/pml_portals_start.c
Обычный файл
@ -0,0 +1,17 @@
|
||||
/*
|
||||
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
||||
* All rights reserved.
|
||||
* $COPYRIGHT$
|
||||
*
|
||||
* Additional copyrights may follow
|
||||
*
|
||||
* $HEADER$
|
||||
*/
|
||||
|
||||
#include "ompi_config.h"
|
||||
#include "pml_portals.h"
|
||||
|
||||
int mca_pml_portals_start(size_t count, ompi_request_t** requests)
|
||||
{
|
||||
return OMPI_SUCCESS;
|
||||
}
|
Загрузка…
x
Ссылка в новой задаче
Block a user