1
2
3
4
5
6
7
8
9
10
11
12 #ifndef MCA_ATOMIC_BASE_H
13 #define MCA_ATOMIC_BASE_H
14
15 #include "oshmem_config.h"
16
17 #include "oshmem/mca/atomic/atomic.h"
18 #include "opal/class/opal_list.h"
19
20
21
22
23
24 BEGIN_C_DECLS
25
26 int mca_atomic_base_find_available(bool enable_progress_threads,
27 bool enable_threads);
28
29 int mca_atomic_base_select(void);
30
31
32
33
34 OSHMEM_DECLSPEC extern mca_base_framework_t oshmem_atomic_base_framework;
35
36
37 #ifdef __BASE_FILE__
38 #define __ATOMIC_FILE__ __BASE_FILE__
39 #else
40 #define __ATOMIC_FILE__ __FILE__
41 #endif
42
43 #ifdef OPAL_ENABLE_DEBUG
44 #define ATOMIC_VERBOSE(level, ...) \
45 oshmem_output_verbose(level, oshmem_atomic_base_framework.framework_output, \
46 "%s:%d - %s()", __ATOMIC_FILE__, __LINE__, __func__, __VA_ARGS__)
47 #else
48 #define ATOMIC_VERBOSE(level, ...)
49 #endif
50
51 #define ATOMIC_ERROR(...) \
52 oshmem_output(oshmem_atomic_base_framework.framework_output, \
53 "Error %s:%d - %s()", __ATOMIC_FILE__, __LINE__, __func__, __VA_ARGS__)
54
55 END_C_DECLS
56
57 #endif