Support for release-over-release performance testing

[reviewed by Elliot ages ago, but never committed (!)]

This commit adds a new script:

     util/pastPerformance/testReleasesPerformance

which can be used to do a performance testing sweep of the current
test suite (or, more generally, an arbitrary version of the test
suite) across past releases.

This differs from what we do in normal nightly performance testing
since that captures the performance on each night for that night's
version of the test.  Thus, this script has the advantage that it
factors out improvements to the benchmark code itself, permitting
focus to be placed on changes in the Chapel implementation's
performance.

Specific changes to existing scripts to support this are:

* Made start_test support the setting of an optional env var
  CHPL_TEST_UTIL_DIR to indicate what util/ directory should be
  used for testing scripts.  This permits us to use the current
  test system and scripts with an older release.

* Made sub_test use CHPL_TEST_UTIL_DIR to determine where the
  utility scripts live

* Made sub_test look at (optional) CHPL_TEST_PERF_DATE to
  determine what date to pass through to computePerfStats

* Made computePerfStats support an optional new argument that
  indicates the date to use in generating a .dat file entry.
  This is used to generate performance data points in the past
  rather than using today's date.

* Fixed a misleading path in start_test that reflects a directory
  reorganization that took place years ago.


Some future TODO/cleanup opportunities:

o unify specifying dates of release branches with the performance
  graphing system to avoid duplication

o separate past release performance from current HEAD in .dat files
  and/or support splicing/dicing of .dat files to be able to
  append latest performance onto past without re-running all of
  the past ones.

o automatically name the default perfdat directory based on the 
  current revision being tested.




git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22426 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
These tests already run multiple trials within themselves, so it isn't as useful
to have a perfnumtrials greater than 1, especially since we already record the
minimum value in addition to the average.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22427 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
I noticed that ptrans was doing performance runs, but we were never graphing the
results.  This commit fixes that.  Additionally, this test takes a while to run,
so I changed the perfnumtrials to 1.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22428 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Extend replication of global constants to other types

[reviewed by vass]

This commit fixes a bug/oversight in which we failed to replicate global
constants of simple types across locales as advertised in the spec. It adds
enums, imaginaries, and complexes to the list of things to be replicated.
It also changes the test used for booleans from a simple comparison to
dtBool (which I think would only cover default-width boolean types?) to use
is_bool_type(), more symmetrically with other types.

One case that I was curious about but did not investigate (due to lack of
time, difficulty in verifying, and perhaps good motivating examples) was
whether global const class variables are replicated (which would correspond
to replicating the reference to the object, not the object itself).  So that
remains an open question for future investigation.

Added a test to lock this behavior in.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22429 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Add a nightly.standard script to run the testing suite with the defaults and add a script for tests on mbp-kbrady

[Reviewed by Sung]

This patch adds a nightly.standard script, along the lines of nightly.fast and
nightly.numa, to run the testing suite with the default options. This script is
meant to be called from a machine.<host> file, which is described further in
the README and machine.template.

A pair of files, machine.mbp-kbrady.* have been added for normal testing runs
on darwin. MWF runs with clang, while TR runs with gcc.



git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22430 3a8e244f-b0f2-452b-bcba-4c88e055c3ca
Make sublocale support cost-free at execution time for tasks=qthreads, localeModel=flat [reviewed by Greg]

This commit mirrors part of the change made to fifo tasking by r22294 by moving
the sublocale oriented tasking interface functions and structs out of
tasks-qthreads.c and into tasks-qthreads.h, while making them inlined static.
Additionally, since the code executed in those functions is only relevant when
sublocales are present and flat does not support sublocales, we ensure that the
relevant code is not executed under flat by checking that
CHPL_LOCALE_MODEL_NUM_SUBLOCALES is not set to 0, since we don't have a way to
directly compare on CHPL_MAKE_LOCALE_MODEL.

Tested over all tests with qthreads.flat, qthreads.numa, and over hello*.chpl 
with qthreads.gasnet. 


git-svn-id: svn+ssh://svn.code.sf.net/p/chapel/code/trunk@22431 3a8e244f-b0f2-452b-bcba-4c88e055c3ca