1
1
openmpi/ompi/mca/sbgp/basesmsocket/sbgp_basesmsocket.h
Ralph Castain a4b6fb241f Remove all remaining vestiges of the Windows integration
This commit was SVN r28137.
2013-02-28 17:31:47 +00:00

100 строки
2.5 KiB
C

/*
* Copyright (c) 2009-2012 Oak Ridge National Laboratory. All rights reserved.
* Copyright (c) 2009-2012 Mellanox Technologies. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef MCA_BCOL_basesmsocket_EXPORT_H
#define MCA_BCOL_basesmsocket_EXPORT_H
#include "ompi_config.h"
#include "mpi.h"
#include "opal/mca/mca.h"
#include "ompi/mca/sbgp/sbgp.h"
#include "ompi/mca/mpool/mpool.h"
#include "ompi/request/request.h"
#include "ompi/proc/proc.h"
BEGIN_C_DECLS
#ifdef HAVE_SCHED_YIELD
# include <sched.h>
# define SPIN sched_yield()
#else /* no switch available */
# define SPIN
#endif
static inline int mca_sbgp_basesmsocket_err(const char* fmt, ...)
{
va_list list;
int ret;
va_start(list, fmt);
ret = vfprintf(stderr, fmt, list);
va_end(list);
return ret;
}
#if OPAL_ENABLE_DEBUG
#define BASESMSOCKET_VERBOSE(level, args) \
do { \
if(10 >= level) { \
mca_sbgp_basesmsocket_err("[%s]%s[%s:%d:%s] BASESMSOCKET ", \
ompi_process_info.nodename, \
OMPI_NAME_PRINT(OMPI_PROC_MY_NAME), \
__FILE__, __LINE__, __func__); \
mca_sbgp_basesmsocket_err args; \
mca_sbgp_basesmsocket_err("\n"); \
} \
} while(0);
#else
#define BASESMSOCKET_VERBOSE(level, args)
#endif
/**
* Structure to hold the basic shared memory coll component. First it holds the
* base coll component, and then holds a bunch of
* sm-coll-component-specific stuff (e.g., current MCA param
* values).
*/
struct mca_sbgp_basesmsocket_component_t {
/** Base coll component */
mca_sbgp_base_component_2_0_0_t super;
};
/**
* Convenience typedef
*/
typedef struct mca_sbgp_basesmsocket_component_t
mca_sbgp_basesmsocket_component_t;
/*
** Base sub-group module
**/
struct mca_sbgp_basesmsocket_module_t {
/** Collective modules all inherit from opal_object */
mca_sbgp_base_module_t super;
};
typedef struct mca_sbgp_basesmsocket_module_t mca_sbgp_basesmsocket_module_t;
OBJ_CLASS_DECLARATION(mca_sbgp_basesmsocket_module_t);
/**
* Global component instance
*/
OMPI_MODULE_DECLSPEC extern mca_sbgp_basesmsocket_component_t mca_sbgp_basesmsocket_component;
END_C_DECLS
#endif /* MCA_BCOL_basesmsocket_EXPORT_H */