1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 #ifndef MCA_SCOLL_BASE_H
  13 #define MCA_SCOLL_BASE_H
  14 
  15 #include "oshmem_config.h"
  16 
  17 #include "oshmem/mca/memheap/memheap.h"
  18 #include "opal/class/opal_list.h"
  19 
  20 
  21 
  22 
  23 
  24 BEGIN_C_DECLS
  25 
  26 
  27 
  28 
  29 
  30 
  31 
  32 OSHMEM_DECLSPEC extern long* mca_scoll_sync_array;
  33 
  34 OSHMEM_DECLSPEC int mca_scoll_base_find_available(bool enable_progress_threads,
  35                                                   bool enable_threads);
  36 
  37 OSHMEM_DECLSPEC int mca_scoll_base_select(struct oshmem_group_t *group);
  38 
  39 int mca_scoll_base_group_unselect(struct oshmem_group_t *group);
  40 
  41 OSHMEM_DECLSPEC int mca_scoll_enable(void);
  42 
  43 
  44 
  45 
  46 OSHMEM_DECLSPEC extern mca_base_framework_t oshmem_scoll_base_framework;
  47 
  48 
  49 #ifdef __BASE_FILE__
  50 #define __SCOLL_FILE__ __BASE_FILE__
  51 #else
  52 #define __SCOLL_FILE__ __FILE__
  53 #endif
  54 
  55 #ifdef OPAL_ENABLE_DEBUG
  56 #define SCOLL_VERBOSE(level, ...) \
  57     oshmem_output_verbose(level, oshmem_scoll_base_framework.framework_output, \
  58        "%s:%d - %s()", __SCOLL_FILE__, __LINE__, __func__, __VA_ARGS__)
  59 #else
  60 #define SCOLL_VERBOSE(...)
  61 #endif
  62 
  63 #define SCOLL_ERROR(...) \
  64     oshmem_output(oshmem_scoll_base_framework.framework_output, \
  65         "Error %s:%d - %s()",  __SCOLL_FILE__, __LINE__, __func__, __VA_ARGS__)
  66 
  67 END_C_DECLS
  68 
  69 #endif