1
1
openmpi/ompi/mca/mtl/ofi/mtl_ofi_compat.h
Ralph Castain cf6137b530 Integrate PMIx 1.0 with OMPI.
Bring Slurm PMI-1 component online
Bring the s2 component online

Little cleanup - let the various PMIx modules set the process name during init, and then just raise it up to the ORTE level. Required as the different PMI environments all pass the jobid in different ways.

Bring the OMPI pubsub/pmi component online

Get comm_spawn working again

Ensure we always provide a cpuset, even if it is NULL

pmix/cray: adjust cray pmix component for pmix

Make changes so cray pmix can work within the integrated
ompi/pmix framework.

Bring singletons back online. Implement the comm_spawn operation using pmix - not tested yet

Cleanup comm_spawn - procs now starting, error in connect_accept

Complete integration
2015-08-29 16:04:10 -07:00

69 строки
1.9 KiB
C

/*
* Copyright (c) 2015 Intel, Inc. All rights reserved.
* Copyright (c) 2015 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 MTL_OFI_COMPAT_H
#define MTL_OFI_COMPAT_H
/************************************************************************/
/* v2.0 and beyond */
#if (OPAL_MAJOR_VERSION >= 2)
#include "opal/mca/pmix/pmix.h"
#include "opal/mca/pmix/pmix_types.h"
#define OFI_COMPAT_MODEX_RECV(ret, mtl_version, proc, ep_name, size) \
OPAL_MODEX_RECV((ret), (mtl_version), &(proc)->super.proc_name, (ep_name), (size));
#define OFI_COMPAT_MODEX_SEND(ret, mtl_version, ep_name, namelen) \
OPAL_MODEX_SEND((ret), \
OPAL_PMIX_GLOBAL, \
(mtl_version), \
(ep_name)[0], \
(namelen));
#define OFI_COMPAT_MCA_VERSION \
MCA_BASE_MAKE_VERSION(component, \
OMPI_MAJOR_VERSION, \
OMPI_MINOR_VERSION, \
OMPI_RELEASE_VERSION)
/************************************************************************/
/* v1.7, v1.8, and v1.10 (there was no v1.9) */
#elif (OPAL_MAJOR_VERSION == 1 && OPAL_MINOR_VERSION >= 7)
#include "ompi/runtime/ompi_module_exchange.h"
#define OFI_COMPAT_MODEX_RECV(ret, mtl_version, proc, ep_name, size) \
(ret) = ompi_modex_recv((mtl_version), (proc), (ep_name), (size));
#define OFI_COMPAT_MODEX_SEND(ret, mtl_version, ep_name, namelen) \
(ret) = ompi_modex_send((mtl_version), (ep_name), (namelen));
#define OFI_COMPAT_MCA_VERSION \
OMPI_MAJOR_VERSION, \
OMPI_MINOR_VERSION, \
OMPI_RELEASE_VERSION
/************************************************************************/
#else
# error OMPI version too old (< 1.7)
#endif
#endif /* MTL_OFI_COMPAT_H */