1
1
openmpi/opal/mca/btl/usnic/btl_usnic_compat.h
Jeff Squyres a6c6aa2815 usnic: remove compatibility with v1.6 series
Update compat.h to only handle compatability between v1.7/v1.8 and
v1.9/2.0 (i.e., the current trunk).  Remove what seems to be the last
vestiages of OMPI/ORTE pollution in the now-OPAL-ized usnic BTL.

Currently use a hard-coded constant for the MCW size (i.e.,
MPI_COMM_WORLD size) for some initialization values in the v1.9/2.0
series; still need to figure out something better there.

This commit was SVN r32365.
2014-07-30 20:55:26 +00:00

71 строка
2.0 KiB
C

/*
* Copyright (c) 2013-2014 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
/* This header contains macros to help minimize usnic BTL differences
* between v1.7/v1.8 and v1.9/v2.0. */
#ifndef BTL_USNIC_COMPAT_H
#define BTL_USNIC_COMPAT_H
/************************************************************************/
/* v1.9 and beyond */
#if (OPAL_MAJOR_VERSION == 1 && OPAL_MINOR_VERSION >= 9) || \
(OPAL_MAJOR_VERSION >= 2)
/* OMPI_ERROR_LOG and friends */
# include "opal/util/error.h"
# define USNIC_OUT opal_btl_base_framework.framework_output
/* JMS Really want to be able to get the job size somehow... But for
now, so that we can compile, just set it to a constant :-( */
# define USNIC_MCW_SIZE 16
#if OPAL_HAVE_HWLOC
# define proc_bound() (NULL != opal_process_info.cpuset ? 1 : 0)
#else
# define proc_bound() 0
#endif
/************************************************************************/
/* v1.7 and v1.8 */
#elif (OPAL_MAJOR_VERSION == 1 && OPAL_MINOR_VERSION >= 7)
/* OMPI_ERROR_LOG and friends */
# include "ompi/mca/rte/rte.h"
# define USNIC_OUT ompi_btl_base_framework.framework_output
# define USNIC_MCW_SIZE ompi_process_info.num_procs
# define proc_bound() (ompi_rte_proc_is_bound)
/************************************************************************/
#else
# error OMPI version too old (< 1.7)
#endif
/************************************************************************/
/* The FREE_LIST_*_MT stuff was introduced on the SVN trunk in r28722
(2013-07-04), but so far, has not been merged into the v1.7 branch
yet (2013-09-06). */
#ifndef OPAL_FREE_LIST_GET_MT
# define OPAL_FREE_LIST_GET_MT(list_, item_) \
do { \
int rc_ __opal_attribute_unused__; \
OPAL_FREE_LIST_GET(list_, item_, rc_); \
} while (0)
# define OPAL_FREE_LIST_RETURN_MT(list_, item_) \
OPAL_FREE_LIST_RETURN(list_, item_)
#endif
#endif /* BTL_USNIC_COMPAT_H */