File: mtl_ofi_compat.h

package info (click to toggle)
openmpi 2.0.2-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 99,912 kB
  • ctags: 55,589
  • sloc: ansic: 525,999; f90: 18,307; makefile: 12,062; sh: 6,583; java: 6,278; asm: 3,515; cpp: 2,227; perl: 2,136; python: 1,350; lex: 734; fortran: 52; tcl: 12
file content (68 lines) | stat: -rw-r--r-- 1,975 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
 * 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 */