Skip to content

Commit

Permalink
remove ROSE and RCRTool support, they now exist in branch rcr-tool-an…
Browse files Browse the repository at this point in the history
…d-rose
  • Loading branch information
npe9 committed Jul 25, 2018
1 parent b005d02 commit 1a1bdfd
Show file tree
Hide file tree
Showing 129 changed files with 9 additions and 45,336 deletions.
4 changes: 4 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
--- 1.14(tentative) --
Improvements:
- Removed deprecated ROSE support
- Removed deprecated RCRtool support
--- 1.13 ---
New Features:
- Performance Monitoring: use --enable-performance-monitoring
Expand Down
55 changes: 2 additions & 53 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,6 @@ AC_ARG_ENABLE([header-syscall-interception],
[AS_HELP_STRING([--enable-header-syscall-interception],
[Intercept blocking syscalls by mangling them via #defs. Experimental.])])

AC_ARG_ENABLE([rcrtool],
[AS_HELP_STRING([--enable-rcrtool],
[Includes support for using qthreads with the
RCRTool performance monitor. Experimental.])])

AC_ARG_ENABLE([oversubscription],
[AS_HELP_STRING([--enable-oversubscription],
[This option configures qthreads in a way that
Expand Down Expand Up @@ -179,7 +174,6 @@ AC_ARG_ENABLE([debug],
mpool,
multinode,
qarray,
rcrtool,
shepherd,
syncvars,
syscalls,
Expand All @@ -188,7 +182,7 @@ AC_ARG_ENABLE([debug],
threadqueues,
xomp])],
[AS_IF([test "x$enable_debug" = "xyes"],
[enable_debug="affinity,threadqueues,thread,shepherd,core,team,mpool,syscalls,febs,syncvars,io,loops,barrier,qarray,rcrtool,futurelib,xomp,multinode"])
[enable_debug="affinity,threadqueues,thread,shepherd,core,team,mpool,syscalls,febs,syncvars,io,loops,barrier,qarray,futurelib,xomp,multinode"])
for area in $(echo "$enable_debug" | sed 's/,/ /g') ; do
case "$area" in
affinity) enable_debug_affinity=yes ;;
Expand All @@ -205,7 +199,6 @@ AC_ARG_ENABLE([debug],
loop|loops) enable_debug_loops=yes ;;
barrier|barriers) enable_debug_barrier=yes ;;
qarray|qarrays) enable_debug_qarray=yes ;;
rcrtool) enable_debug_rcrtool=yes ;;
futurelib) enable_debug_futurelib=yes ;;
xomp) enable_debug_xomp=yes ;;
multinode) enable_debug_multinode=yes ;;
Expand Down Expand Up @@ -337,27 +330,6 @@ AC_ARG_ENABLE([condwait-queue],
interfere with each other). Default enabled on
sparc/solaris, but default disabled elsewhere.])])

AC_ARG_ENABLE([rose-extensions],
[AS_HELP_STRING([--enable-rose-extensions],
[Enable some experimental extensions to qthreads
that are designed to support integration with
the ROSE compiler. Also enables the ROSE
compiler interface.])],
[EXTRA_DISTCHECK_OPTIONS="$EXTRA_DISTCHECK_OPTIONS --enable-interfaces=rose"])

AC_ARG_ENABLE([rose-log-barrier],
[],
[AC_MSG_WARN([Deprecated option; use --with-barrier=log])
with_barrier="log"])
AC_ARG_ENABLE([log-barrier],
[],
[AC_MSG_WARN([Deprecated option; use --with-barrier=log])
with_barrier="log"])

AC_ARG_ENABLE([omp_affinity],
[AS_HELP_STRING([--enable-omp-affinity],
[Enable experimental OpenMP affinity extensions (part of ROSE interface). Under development])])

AC_ARG_ENABLE([third-party-benchmarks],
[AS_HELP_STRING([--enable-third-party-benchmarks],
[Turns on configure options to look for OpenMP,
Expand Down Expand Up @@ -778,13 +750,6 @@ AS_IF([test "x$enable_valgrind" = "xyes"],
[AC_CHECK_HEADERS([valgrind/memcheck.h],
[AC_DEFINE([QTHREAD_USE_VALGRIND], [1], [Use Valgrind Macros])])])

AS_IF([test "x$enable_rose_extensions" = xyes],
[AC_DEFINE([QTHREAD_USE_ROSE_EXTENSIONS], [1], [Define to enable ROSE extensions])
AS_IF([test "x$with_scheduler" = "x"],
[with_scheduler="sherwood"])
AS_IF([test "x$with_scheduler" != "xsherwood" -a "x$with_scheduler" != "xnottingham" -a "x$with_scheduler" != "xloxley"],
[AC_MSG_ERROR([ROSE XOMP implementation *REQUIRES* the sherwood, nottingham, or loxley schedulers.])])])

AS_IF([test "x$enable_hpctoolkit_support" = xyes],
[AC_DEFINE([QTHREAD_ALLOW_HPCTOOLKIT_STACK_UNWINDING], [1], [Support HPCToolkit stack unwinding])])

Expand Down Expand Up @@ -938,8 +903,6 @@ AS_IF([test "x$enable_debug" = x -o "x$enable_debug" = xno],
[QTHREAD_DEBUG_BARRIER], [prints out barrier debugging information at runtime])
QT_COND_DEFINE([$enable_debug_qarray],
[QTHREAD_DEBUG_QARRAY], [prints out qarray debugging information at runtime])
QT_COND_DEFINE([$enable_debug_rcrtool],
[QTHREAD_DEBUG_RCRTOOL], [prints out rcrtool debugging information at runtime])
QT_COND_DEFINE([$enable_debug_futurelib],
[QTHREAD_DEBUG_FUTURELIB], [prints out futurelib debugging information at runtime])
QT_COND_DEFINE([$enable_debug_xomp],
Expand All @@ -948,14 +911,6 @@ AS_IF([test "x$enable_debug" = x -o "x$enable_debug" = xno],
[QTHREAD_DEBUG_MULTINODE], [prints out multinode debugging information at runtime])
])

AS_IF([test "x$enable_rcrtool" = "xyes"],
[AC_DEFINE([QTHREAD_RCRTOOL], [1], [enables RCR logging and scheduling])],
[enable_rcrtool=no])

AS_IF([test "x$enable_rcrtool_stats" = "xyes"],
[AC_DEFINE([QTHREAD_RCRTOOL_STAT], [1], [logs RCR stats])],
[enable_rcrtool_stats=no])

AS_IF([test "x$enable_hardware_timer" != "xno"],
[AC_LINK_IFELSE([AC_LANG_SOURCE([[
#include <unistd.h>
Expand Down Expand Up @@ -1098,8 +1053,6 @@ AM_CONDITIONAL([QTHREAD_TIMER_TYPE_MACH], [test "x$qthread_timer_type" = "xmach"
AM_CONDITIONAL([QTHREAD_TIMER_TYPE_GETHRTIME], [test "x$qthread_timer_type" = "xgethrtime"])
AM_CONDITIONAL([QTHREAD_TIMER_TYPE_ALTIX], [test "x$qthread_timer_type" = "xaltix"])
AM_CONDITIONAL([QTHREAD_TIMER_TYPE_GETTIMEOFDAY], [test "x$qthread_timer_type" = "xgettimeofday"])
AM_CONDITIONAL([COMPILE_ROSE_EXTENSIONS], [test "x$enable_rose_extensions" = "xyes"])
AM_CONDITIONAL([COMPILE_RCRTOOL], [test "x$enable_rcrtool" = "xyes"])
AM_CONDITIONAL([COMPILE_COMPAT_ATOMIC], [test "x$compile_compat_atomic" = "xyes"])
AM_CONDITIONAL([COMPILE_SPAWNCACHE], [test "x$enable_spawn_cache" = "xyes"])
AM_CONDITIONAL([COMPILE_EUREKAS], [test "x$enable_eurekas" = "xyes"])
Expand Down Expand Up @@ -1131,10 +1084,7 @@ AC_CONFIG_FILES([Makefile
test/stress/Makefile
test/benchmarks/Makefile
test/benchmarks/mantevo/Makefile
test/benchmarks/mantevo/hpccg/Makefile
test/benchmarks/mantevo/hpccg_rose/Makefile
test/benchmarks/rose_lulesh/Makefile
test/benchmarks/rose_bots/Makefile])
test/benchmarks/mantevo/hpccg/Makefile])
AC_OUTPUT

case "$qthread_cv_stack_size" in
Expand Down Expand Up @@ -1209,7 +1159,6 @@ echo " Barrier Style: $with_barrier"
echo " Dictionary Style: $with_dict"
echo " Lazy Thread IDs: $enable_lazy_threadids"
echo " Pools/caches: $pool_string"
echo " RCRTool: $enable_rcrtool"
echo "Increments/CAS/FEBs: $incr_string, $feb_string"
echo ""
echo "Miscellany:"
Expand Down
4 changes: 0 additions & 4 deletions include/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,6 @@ noinst_HEADERS = \
qt_threadstate.h \
qt_touch.h \
qt_visibility.h \
rose_extensions.h \
rose_log_arrivaldetector.h \
rose_sinc_barrier.h \
rose_xomp.h \
spr_innards.h

if COMPILE_EUREKAS
Expand Down
39 changes: 0 additions & 39 deletions include/qloop_innards.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,50 +65,11 @@ enum qloop_handle_type {
struct qqloop_step_handle_s {
struct qqloop_step_wrapper_args *qwa;
struct qqloop_step_static_args stat;
#ifdef QTHREAD_USE_ROSE_EXTENSIONS
aligned_t workers;
aligned_t departed_workers;
aligned_t expected_workers; // used to decide when the data structure can be reused (expected_workers == departed_workers) AKP 1/26/12
aligned_t *current_workers; // actually allocated at end of work_array
aligned_t allowed_workers;
struct qqloop_step_handle_s *next;
enum qloop_handle_type type;
aligned_t assignNext;
aligned_t assignStart;
aligned_t assignStop;
aligned_t assignStep;
aligned_t chunkSize;
aligned_t assignDone; // start+offset
aligned_t iterations;
aligned_t whichLoop; // value used to pair workers with correct loop structure
aligned_t ready; // what is the last whichLoop that has been initialized (usable)
#endif /* QTHREAD_USE_ROSE_EXTENSIONS */
aligned_t work_array_size;
aligned_t work_array; // really an address to reach an array
// with one aligned_t per worker/shepherd
};

#ifdef QTHREAD_USE_ROSE_EXTENSIONS
#include "qt_visibility.h"

int qloop_internal_computeNextBlock(qqloop_step_handle_t *loop);

double *cnbTimeMin_(void);
int * cnbWorkers_(void);

qqloop_step_handle_t *qt_loop_rose_queue_create(int64_t start,
int64_t stop,
int64_t incr);
void qt_loop_rose_queue_free(qqloop_step_handle_t *);

/* functions added by akp to handle OpenMP task completion
*/
extern int __qthreads_temp;
void INTERNAL qthread_reset_forCount(void);

int INTERNAL qthread_forCount(int inc);

#endif /* QTHREAD_USE_ROSE_EXTENSIONS */

#endif // ifndef QLOOP_INNARDS_H
/* vim:set expandtab: */
43 changes: 0 additions & 43 deletions include/qt_debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -199,17 +199,6 @@ extern enum qthread_debug_levels debuglevel;
# define QARRAY_BEHAVIOR NO_DEBUG_OUTPUT
# define QARRAY_DETAILS NO_DEBUG_OUTPUT
# endif
# ifdef QTHREAD_DEBUG_RCRTOOL
# define RCRTOOL_CALLS DEBUG_CALLS
# define RCRTOOL_FUNCTIONS DEBUG_FUNCTIONS
# define RCRTOOL_BEHAVIOR DEBUG_BEHAVIOR
# define RCRTOOL_DETAILS DEBUG_DETAILS
# else
# define RCRTOOL_CALLS NO_DEBUG_OUTPUT
# define RCRTOOL_FUNCTIONS NO_DEBUG_OUTPUT
# define RCRTOOL_BEHAVIOR NO_DEBUG_OUTPUT
# define RCRTOOL_DETAILS NO_DEBUG_OUTPUT
# endif
# ifdef QTHREAD_DEBUG_SHEPHERD
# define SHEPHERD_CALLS DEBUG_CALLS
# define SHEPHERD_FUNCTIONS DEBUG_FUNCTIONS
Expand Down Expand Up @@ -257,33 +246,6 @@ extern enum qthread_debug_levels debuglevel;

extern QTHREAD_FASTLOCK_TYPE output_lock;

# ifdef QTHREAD_RCRTOOL
# ifdef HAVE_GNU_VAMACROS
# define qthread_debug(level, format, args ...) qthread_debug_(level, debuglevel, "QDEBUG: ", "%s(%u): " format, __FUNCTION__, __LINE__, ## args)
# define rcrtool_debug(level, format, args ...) qthread_debug_(level, rcrtoollevel, "RCRDEBUG: ", "%s(%u): " format, __FUNCTION__, __LINE__, ## args)
static QINLINE void qthread_debug_(int level,
int debuglevel,
const char *msgPrefix,
const char *format,
...)
# elif defined(HAVE_C99_VAMACROS)
# define qthread_debug(level, format, ...) qthread_debug_(level, debuglevel, "QDEBUG: ", "%s(%u): " format, __FUNCTION__, __LINE__, __VA_ARGS__)
# define rcrtool_debug(level, format, ...) qthread_debug_(level, rcrtoollevel, "RCRDEBUG: ", "%s(%u): " format, __FUNCTION__, __LINE__, __VA_ARGS__)
static QINLINE void qthread_debug_(int level,
int debuglevel,
const char *msgPrefix,
const char *format,
...)
# else // ifdef HAVE_GNU_VAMACROS
# define qthread_debug(level, format, ...) qthread_debug_(level, debuglevel, "QDEBUG: ", format, __FUNCTION__, __LINE__, __VA_ARGS__)
# define rcrtool_debug(level, format, ...) qthread_debug_(level, rcrtoollevel, "RCRDEBUG: ", format, __FUNCTION__, __LINE__, __VA_ARGS__)
static QINLINE void qthread_debug_(int level,
int debuglevel,
const char *msgPrefix,
const char *format,
...)
# endif // ifdef HAVE_GNU_VAMACROS
# else // ifdef QTHREAD_RCRTOOL
# ifdef HAVE_GNU_VAMACROS
# define qthread_debug(level, format, args ...) qthread_debug_(level, "%s(%u): " format, __FUNCTION__, __LINE__, ## args)
static QINLINE void qthread_debug_(int level,
Expand All @@ -299,7 +261,6 @@ static QINLINE void qthread_debug(int level,
const char *format,
...)
# endif // ifdef HAVE_GNU_VAMACROS
# endif // ifdef QTHREAD_RCRTOOL
{ /*{{{ */
va_list args;

Expand All @@ -310,11 +271,7 @@ static QINLINE void qthread_debug(int level,

QTHREAD_FASTLOCK_LOCK(&output_lock);

# ifdef QTHREAD_RCRTOOL
while (WRITE(2, msgPrefix, 8) != 8) ;
# else
while (WRITE(2, "QDEBUG: ", 8) != 8) ;
# endif

va_start(args, format);
/* avoiding the obvious method, to save on memory
Expand Down
11 changes: 0 additions & 11 deletions include/qt_qthread_struct.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,6 @@ struct qthread_runtime_data_s {
#ifdef QTHREAD_USE_VALGRIND
unsigned int valgrind_stack_id;
#endif
#ifdef QTHREAD_USE_ROSE_EXTENSIONS
int forCount; /* added akp */
#endif
# ifdef QTHREAD_OMP_AFFINITY
/* affinity for children created by this task */
qthread_shepherd_id_t child_affinity;
Expand All @@ -82,14 +79,6 @@ struct qthread_s {
/* preconditions for data-dependent tasks */
void *preconds;

#ifdef QTHREAD_USE_ROSE_EXTENSIONS
// XXX: I suspect that several of these should be moved into the qthread_runtime_data_s struct
aligned_t id; /* id used in barrier and arrive_first */
qthread_parallel_region_t *currentParallelRegion; /* parallel region barrier this thread should use */
aligned_t task_counter;
struct qthread_s *parent; /* pointer to parent task */
enum threadstate prev_thread_state; /* save the previous thread state */
#endif
unsigned int thread_id;
qthread_shepherd_id_t target_shepherd; /* the shepherd we'd rather run on; set to NO_SHEPHERD unless the thread either migrated or was spawned to a specific destination (aka the programmer expressed a desire for this thread to be somewhere) */
uint16_t flags; /* may not need all bits */
Expand Down
3 changes: 0 additions & 3 deletions include/qt_shepherd_innards.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,6 @@ struct qthread_shepherd_s {
#ifdef QTHREAD_OMP_AFFINITY
unsigned int stealing_mode; /* Specifies when a shepherd may steal */
#endif
#ifdef QTHREAD_RCRTOOL
volatile unsigned int active_workers;
#endif
#ifdef STEAL_PROFILE // should give mechanism to make steal profiling optional
size_t steal_called;
size_t steal_elected;
Expand Down
3 changes: 0 additions & 3 deletions include/qthread/common.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@
/* The size of `void*', as computed by sizeof. */
#undef SIZEOF_VOIDP

/* support ROSE extensions */
#undef QTHREAD_USE_ROSE_EXTENSIONS

/* alignment of aligned_t */
#undef QTHREAD_ALIGNMENT_ALIGNED_T

Expand Down
15 changes: 0 additions & 15 deletions include/qthread/qloop.h
Original file line number Diff line number Diff line change
Expand Up @@ -122,21 +122,6 @@ void qt_loop_queue_run_there(qqloop_handle_t *loop,
void qt_loop_queue_addworker(qqloop_handle_t *loop,
const qthread_shepherd_id_t shep);

#ifdef QTHREAD_USE_ROSE_EXTENSIONS
void qt_loop_queue_run_single(qqloop_step_handle_t *loop,
void *t);
void qt_parallel(const qt_loop_f func,
const unsigned int threads,
void *argptr);
void qt_parallel_step(const qt_loop_step_f func,
const unsigned int threads,
void *argptr);
void qt_parallel_for(const qt_loop_step_f func,
const size_t startat,
const size_t stopat,
const size_t incr,
void *restrict argptr);
#endif // ifdef QTHREAD_USE_ROSE_EXTENSIONS

double qt_double_sum(double *array,
size_t length,
Expand Down
27 changes: 0 additions & 27 deletions include/qthread/qthread.h
Original file line number Diff line number Diff line change
Expand Up @@ -124,23 +124,6 @@ typedef struct _syncvar_s {
typedef unsigned short qthread_shepherd_id_t;
typedef unsigned short qthread_worker_id_t;

#ifdef QTHREAD_USE_ROSE_EXTENSIONS
# include <qthread/barrier.h>

struct qthread_parallel_region_s {
struct qthread_parallel_region_s *last;
void *forLoop; // current loop really qqloop_step_handle_t * -- void to save include ordering problems
void *loopList; // really list of qqloop_step_handle_t * -- void to save include ordering problems
qt_barrier_t *barrier;
int *currentLoopNum; // really an array of values (number workers long)
// which Loop current active
int clsSize; // size of following array
void **currentLoopStruct; // really an array of pointers to loop
// structures for use by omp
};
typedef struct qthread_parallel_region_s qthread_parallel_region_t;

#endif // ifdef QTHREAD_USE_ROSE_EXTENSIONS

/* for convenient arguments to qthread_fork */
typedef aligned_t (*qthread_f)(void *arg);
Expand Down Expand Up @@ -325,16 +308,6 @@ qthread_shepherd_id_t qthread_shep(void);
qthread_worker_id_t qthread_worker(qthread_shepherd_id_t *s);
qthread_worker_id_t qthread_worker_unique(qthread_shepherd_id_t *s);
qthread_worker_id_t qthread_worker_local(qthread_shepherd_id_t *s);
#ifdef QTHREAD_USE_ROSE_EXTENSIONS
unsigned qthread_barrier_id(void);
struct qthread_parallel_region_s *qt_parallel_region(void);
qt_barrier_t * qt_thread_barrier(void);
qt_barrier_t * qt_thread_barrier_resize(size_t size);
void * qt_next_loop(void *loop);
int qt_omp_parallel_region_create(void);
void qt_omp_parallel_region_destroy(void);
void qt_set_unstealable(void);
#endif // ifdef QTHREAD_USE_ROSE_EXTENSIONS

void * qthread_get_tasklocal(unsigned int);
unsigned qthread_size_tasklocal(void);
Expand Down
6 changes: 0 additions & 6 deletions include/qthread_innards.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,12 +131,6 @@ extern qlib_t qlib;
void INTERNAL qthread_exec(qthread_t *t,
qt_context_t *c);

#ifdef QTHREAD_RCRTOOL
/* allow environment variable to control whether dynamic thread count
* adjustment active - akp 5/26/11
*/
extern int rcrSchedulingOff;
#endif

#endif // ifndef QTHREAD_INNARDS_H
/* vim:set expandtab: */
Loading

0 comments on commit 1a1bdfd

Please sign in to comment.