Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions src/arch/common/conv-mach-craype.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
CMK_BUILD_CRAY=1

CMK_CRAY_NOGNI=1

PGCC=`CC -V 2>&1 | grep pgCC`
ICPC=`CC -V 2>&1 | grep Intel`
Expand Down
94 changes: 94 additions & 0 deletions src/arch/ofi-linux-arm8/conv-mach-cxi.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
#ifndef _CONV_MACH_H
#define _CONV_MACH_H

#define CMK_OFI 1
/* for Slingshot-11 the provider is CXI, this is notably different
in how memory registration is handled from the old OFI. */
#ifdef CMK_CXI
#undef CMK_CXI
#endif
#define CMK_CXI 1

/* define the default linker, together with its options */
#define CMK_DLL_CC "g++ -shared -O3 -o "

/* 1 if the machine has a function called "getpagesize()", 0 otherwise .
used in the memory files of converse */
#define CMK_GETPAGESIZE_AVAILABLE 1

/* defines which version of memory handlers should be used.
used in conv-core/machine.C */
#define CMK_MALLOC_USE_GNU_MALLOC 0
#define CMK_MALLOC_USE_OS_BUILTIN 1

#define CMK_MEMORY_PAGESIZE 4096
#define CMK_MEMORY_PROTECTABLE 1

/* the following definitions set the type of shared variables to be used. only
one of them must be 1, all the others 0. The different implementations are in
converse.h. Typically used are UNAVAILABLE for non SMP versions and
POSIX_THREADS_SMP for SMP versions. The others are used only in special
cases: NT_THREADS for Windows. */
#define CMK_SHARED_VARS_UNAVAILABLE 1 /* non SMP versions */
#define CMK_SHARED_VARS_POSIX_THREADS_SMP 0 /* SMP versions */
#define CMK_SHARED_VARS_NT_THREADS 0

/* the following define if signal handlers should be used, both equal to zero
means that signals will not be used. only one of the following can be 1, the
other must be 0. they differ in the fact that the second (_WITH_RESTART)
enables retry on interrupt (a function is recalled upon interrupt and does
not return EINTR as in the first case) */
#define CMK_SIGNAL_USE_SIGACTION 0
#define CMK_SIGNAL_USE_SIGACTION_WITH_RESTART 1

/* specifies whether the CthCpv variables should be defined as Cpv (0) or
directly as normal c variables (1) */
#define CMK_THREADS_REQUIRE_NO_CPV 0

/* decide which is the default implementation of the threads (see threads.C)
Only one of the following can be 1. If none of them is selected, qthreads
will be used as default. This default can be overwritten at compile time
using -DCMK_THREADS_BUILD_"type"=1 */
#define CMK_THREADS_USE_CONTEXT 0
#define CMK_THREADS_USE_FCONTEXT 1
#define CMK_THREADS_USE_JCONTEXT 0
#define CMK_THREADS_USE_PTHREADS 0

/* Specifies what kind of timer to use, and the correspondent headers will be
included in convcore.C. If none is selected, then the machine.C file needs to
implement the timer primitives. */
#define CMK_TIMER_USE_RTC 0
#define CMK_TIMER_USE_RDTSC 0
#define CMK_TIMER_USE_GETRUSAGE 1
#define CMK_TIMER_USE_SPECIAL 0
#define CMK_TIMER_USE_TIMES 0

/* Specifies what the processor will do when it is idle, either sleep (1) or go
into busy waiting mode (0). In convcore.C there are a few files included if
sleeping mode, but the real distinct implementation is in the machine.C
file. */
#define CMK_WHEN_PROCESSOR_IDLE_USLEEP 0

/* specifies whether there is a web server collecting utilization statistics (1)
or not (0) */
#define CMK_WEB_MODE 1

#define CMK_DEBUG_MODE 0

/* enables the load balancer framework. set to 1 for almost all the machines */
#define CMK_LBDB_ON 1

#define CMK_64BIT 1
#define CMK_AMD64 1

/* Other possible definitions:

In fault tolerant architectures, CK_MEM_CHECKPOINT can be set. In this case the
extended header must contain also another field called "pn" (phase number).

*/

/* Use PMI2 by default on Cray systems with cray-pmi */
#include "conv-mach-slurmpmi2cray.h"

#endif
27 changes: 27 additions & 0 deletions src/arch/ofi-linux-arm8/conv-mach-cxi.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@


# For libfabric If the user doesn't pass --basedir, use pkg-config for
#libfabric headers and library to avoid some linker wackiness, we
#order them: pal libs, PMI libs, lib64. So that if someplace (i.e.,
#NCSA) puts regular pmi libs in /usr/lib64, we get them from the
#package's cray-pmi dir not their unextended pmi. libpals comes along
#for the ride here due to a dependency in pmi. fabric can just go
#after the others.


if test -z "$USER_OPTS_LD"
then
module load cray-pmi libfabric
CMK_LIBFABRIC_INC=`pkg-config --cflags libfabric`
CMK_LIBFABRIC_LIBS=`pkg-config --libs libfabric`
CMK_LIBPALS_LIBS="-lpals"
CMK_LIBPALS_LDPAT="/opt/cray/pals/1.3.4/lib"
CMK_PMI_INC=`pkg-config --cflags cray-pmi`
CMK_PMI_LIBS=`pkg-config --libs cray-pmi`
CMK_LIBPMI_LDPATH=`pkg-config cray-pmi --variable=libdir`
CMK_INCDIR="$CMK_PMI_INC -I/usr/include/slurm/ $CMK_LIBFABRIC_INC $CMK_INCDIR "
CMK_LIBS="-Wl,-rpath,$CMK_LIBPALS_LDPATH,-rpath,$CMK_LIBPMI_LDPATH $CMK_LIBPALS_LIBS $CMK_PMI_LIBS -L/usr/lib64/ $CMK_LIBFABRIC_LIBS $CMK_LIBS "
fi

# For runtime
CMK_INCDIR="$CMK_INCDIR -I./proc_management/"
10 changes: 10 additions & 0 deletions src/arch/ofi-linux-arm8/conv-mach-pthreads.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

#undef CMK_MALLOC_USE_GNU_MALLOC
#undef CMK_MALLOC_USE_OS_BUILTIN
#undef CMK_MALLOC_USE_GNUOLD_MALLOC
#define CMK_MALLOC_USE_OS_BUILTIN 1

#undef CMK_THREADS_USE_CONTEXT
#undef CMK_THREADS_USE_PTHREADS
#define CMK_THREADS_USE_PTHREADS 1

2 changes: 2 additions & 0 deletions src/arch/ofi-linux-arm8/conv-mach-pthreads.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

CMK_LIBS="$CMK_LIBS -lpthread "
20 changes: 20 additions & 0 deletions src/arch/ofi-linux-arm8/conv-mach-smp.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@

#define CMK_SMP 1


#undef CMK_SHARED_VARS_UNAVAILABLE
#undef CMK_SHARED_VARS_POSIX_THREADS_SMP
#define CMK_SHARED_VARS_UNAVAILABLE 0
#define CMK_SHARED_VARS_POSIX_THREADS_SMP 1

#undef CMK_MALLOC_USE_GNU_MALLOC
#undef CMK_MALLOC_USE_OS_BUILTIN
#define CMK_MALLOC_USE_GNU_MALLOC 0
#define CMK_MALLOC_USE_OS_BUILTIN 1

/*#define CMK_MMAP_PROBE 1 */

/*#define CMK_PCQUEUE_LOCK 1 */
/*#define CMK_USE_MFENCE 1 */
/* Replaced by CMK_NOT_USE_TLS_THREAD as default */
/*#define CMK_USE_TLS_THREAD 1*/
3 changes: 3 additions & 0 deletions src/arch/ofi-linux-arm8/conv-mach-smp.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
CMK_DEFS="$CMK_DEFS -D_REENTRANT"
CMK_LIBS="-lpthread $CMK_LIBS "
CMK_SMP='1'
63 changes: 63 additions & 0 deletions src/arch/ofi-linux-arm8/conv-mach.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@

#ifndef _CONV_MACH_H
#define _CONV_MACH_H

#define CMK_NETPOLL 1

#define CMK_ARM 1
#define CMK_OFI 1
#define CMK_ASYNC_NOT_NEEDED 0
#define CMK_ASYNC_USE_FIOASYNC_AND_FIOSETOWN 0
#define CMK_ASYNC_USE_FIOASYNC_AND_SIOCSPGRP 0
#define CMK_ASYNC_USE_FIOSSAIOSTAT_AND_FIOSSAIOOWN 0
#define CMK_ASYNC_USE_F_SETFL_AND_F_SETOWN 1

#define CMK_DLL_CC "g++ -shared -O3 -o "

#define CMK_GETPAGESIZE_AVAILABLE 1

#define CMK_MALLOC_USE_GNU_MALLOC 0
#define CMK_MALLOC_USE_OS_BUILTIN 1

#define CMK_MEMORY_PAGESIZE 4096
#define CMK_MEMORY_PROTECTABLE 0


#define CMK_SSH_IS_A_COMMAND 1
#define CMK_SSH_NOT_NEEDED 0

#define CMK_SHARED_VARS_UNAVAILABLE 1

#define CMK_THREADS_USE_CONTEXT 1
#define CMK_THREADS_USE_JCONTEXT 0
#define CMK_THREADS_USE_FCONTEXT 0
#define CMK_THREADS_USE_PTHREADS 0
#define CMK_THREADS_ARE_WIN32_FIBERS 0

#define CMK_SIGNAL_NOT_NEEDED 0
#define CMK_SIGNAL_USE_SIGACTION 0
#define CMK_SIGNAL_USE_SIGACTION_WITH_RESTART 1

#define CMK_THREADS_REQUIRE_NO_CPV 0
#define CMK_THREADS_COPY_STACK 0

#define CMK_TIMER_USE_RDTSC 0
#define CMK_TIMER_USE_GETRUSAGE 1
#define CMK_TIMER_USE_SPECIAL 0
#define CMK_TIMER_USE_TIMES 0

#define CMK_64BIT 1
#define CMK_32BIT 0
#define CMK_WHEN_PROCESSOR_IDLE_BUSYWAIT 0
#define CMK_WHEN_PROCESSOR_IDLE_USLEEP 1


#define CMK_DEBUG_MODE 0
#define CMK_WEB_MODE 1

#define CMK_LBDB_ON 1


#endif


16 changes: 16 additions & 0 deletions src/arch/ofi-linux-arm8/conv-mach.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
. $CHARMINC/cc-gcc.sh

# For libfabric
#If the user doesn't pass --basedir, use defaults for libfabric headers and library
if test -z "$USER_OPTS_LD"
then
CMK_INCDIR="-I/usr/include/"
# CMK_LIBDIR="-L/usr/lib64/"
fi

CMK_LIBS="$CMK_LIBS -lfabric"

# For runtime
CMK_INCDIR="$CMK_INCDIR -I./proc_management/ -I./proc_management/simple_pmi/"

CMK_QT='generic64-light'
Loading