|
| 1 | +#ifndef _CONV_MACH_H |
| 2 | +#define _CONV_MACH_H |
| 3 | + |
| 4 | +#define CMK_OFI 1 |
| 5 | + |
| 6 | +/* define the default linker, together with its options */ |
| 7 | +#define CMK_DLL_CC "g++ -shared -O3 -o " |
| 8 | + |
| 9 | +/* 1 if the machine has a function called "getpagesize()", 0 otherwise . |
| 10 | + used in the memory files of converse */ |
| 11 | +#define CMK_GETPAGESIZE_AVAILABLE 1 |
| 12 | + |
| 13 | +/* defines which version of memory handlers should be used. |
| 14 | + used in conv-core/machine.C */ |
| 15 | +#define CMK_MALLOC_USE_GNU_MALLOC 0 |
| 16 | +#define CMK_MALLOC_USE_OS_BUILTIN 1 |
| 17 | + |
| 18 | +#define CMK_MEMORY_PAGESIZE 4096 |
| 19 | +#define CMK_MEMORY_PROTECTABLE 1 |
| 20 | + |
| 21 | +/* the following definitions set the type of shared variables to be used. only |
| 22 | + one of them must be 1, all the others 0. The different implementations are in |
| 23 | + converse.h. Typically used are UNAVAILABLE for non SMP versions and |
| 24 | + POSIX_THREADS_SMP for SMP versions. The others are used only in special |
| 25 | + cases: NT_THREADS for Windows. */ |
| 26 | +#define CMK_SHARED_VARS_UNAVAILABLE 1 /* non SMP versions */ |
| 27 | +#define CMK_SHARED_VARS_POSIX_THREADS_SMP 0 /* SMP versions */ |
| 28 | +#define CMK_SHARED_VARS_NT_THREADS 0 |
| 29 | + |
| 30 | +/* the following define if signal handlers should be used, both equal to zero |
| 31 | + means that signals will not be used. only one of the following can be 1, the |
| 32 | + other must be 0. they differ in the fact that the second (_WITH_RESTART) |
| 33 | + enables retry on interrupt (a function is recalled upon interrupt and does |
| 34 | + not return EINTR as in the first case) */ |
| 35 | +#define CMK_SIGNAL_USE_SIGACTION 0 |
| 36 | +#define CMK_SIGNAL_USE_SIGACTION_WITH_RESTART 1 |
| 37 | + |
| 38 | +/* specifies whether the CthCpv variables should be defined as Cpv (0) or |
| 39 | + directly as normal c variables (1) */ |
| 40 | +#define CMK_THREADS_REQUIRE_NO_CPV 0 |
| 41 | + |
| 42 | +/* decide which is the default implementation of the threads (see threads.C) |
| 43 | + Only one of the following can be 1. If none of them is selected, qthreads |
| 44 | + will be used as default. This default can be overwritten at compile time |
| 45 | + using -DCMK_THREADS_BUILD_"type"=1 */ |
| 46 | +#define CMK_THREADS_USE_CONTEXT 0 |
| 47 | +#define CMK_THREADS_USE_FCONTEXT 1 |
| 48 | +#define CMK_THREADS_USE_JCONTEXT 0 |
| 49 | +#define CMK_THREADS_USE_PTHREADS 0 |
| 50 | + |
| 51 | +/* Specifies what kind of timer to use, and the correspondent headers will be |
| 52 | + included in convcore.C. If none is selected, then the machine.C file needs to |
| 53 | + implement the timer primitives. */ |
| 54 | +#define CMK_TIMER_USE_RTC 0 |
| 55 | +#define CMK_TIMER_USE_RDTSC 0 |
| 56 | +#define CMK_TIMER_USE_GETRUSAGE 1 |
| 57 | +#define CMK_TIMER_USE_SPECIAL 0 |
| 58 | +#define CMK_TIMER_USE_TIMES 0 |
| 59 | +#define CMK_TIMER_USE_BLUEGENEL 0 |
| 60 | + |
| 61 | +/* Specifies what the processor will do when it is idle, either sleep (1) or go |
| 62 | + into busy waiting mode (0). In convcore.C there are a few files included if |
| 63 | + sleeping mode, but the real distinct implementation is in the machine.C |
| 64 | + file. */ |
| 65 | +#define CMK_WHEN_PROCESSOR_IDLE_USLEEP 0 |
| 66 | + |
| 67 | +/* specifies whether there is a web server collecting utilization statistics (1) |
| 68 | + or not (0) */ |
| 69 | +#define CMK_WEB_MODE 1 |
| 70 | + |
| 71 | +#define CMK_DEBUG_MODE 0 |
| 72 | + |
| 73 | +/* enables the load balancer framework. set to 1 for almost all the machines */ |
| 74 | +#define CMK_LBDB_ON 1 |
| 75 | + |
| 76 | +#define CMK_64BIT 1 |
| 77 | +#define CMK_AMD64 1 |
| 78 | + |
| 79 | +/* Other possible definitions: |
| 80 | +
|
| 81 | +In fault tolerant architectures, CK_MEM_CHECKPOINT can be set. In this case the |
| 82 | +extended header must contain also another field called "pn" (phase number). |
| 83 | +
|
| 84 | +*/ |
| 85 | + |
| 86 | +/* Use PMI2 by default on Cray systems with cray-pmi */ |
| 87 | +#include "conv-mach-slurmpmi2.h" |
| 88 | + |
| 89 | +#endif |
0 commit comments