File: mtl_ofi_compat.h

package info (click to toggle)
openmpi 5.0.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 202,312 kB
  • sloc: ansic: 612,441; makefile: 42,495; sh: 11,230; javascript: 9,244; f90: 7,052; java: 6,404; perl: 5,154; python: 1,856; lex: 740; fortran: 61; cpp: 20; tcl: 12
file content (67 lines) | stat: -rw-r--r-- 1,946 bytes parent folder | download | duplicates (2)
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
/*
 * Copyright (c) 2015-2020 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-internal.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),          \
                    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 */