Hi Jeff --

Muxed isn't released in source form due to Cray IP issues, and for the 
same reason we can't talk about the implementation in detail. But as you 
surmised, it's pretty similar to Qthreads in that it does lightweight 
Chapel task switching at user level. Because we don't release it in 
source form it can only be used as part of the pre-built Chapel modules 
for Cray X* targets.

greg


On 4/16/2015 9:09 AM, Jeff Hammond wrote:
> I tried to get more info about muxed but can't find anything online.
> Is this a Cray package that is amenable to use in other contexts?  I
> cannot find anything but opaque references in the source.  Is it a
> close approximation to Qthreads but with CLE-specific optimizations
> and/or bugfixes?
>
> As someone who works on parallel runtimes, I am always interested in
> the current state-of-the-art and what others have done that might be
> extensible to my projects, including platform-specific stuff like
> uGNI, etc.
>
> Thanks,
>
> Jeff
>
> On Thu, Apr 2, 2015 at 6:09 PM, Brad Chamberlain <[email protected]> wrote:
>> Dear Chapel community --
>>
>> Cray Inc. and the Chapel open-source community are pleased to announce the
>> release of version 1.11.0 of Chapel. This release's highlights include:
>>
>> * Web-based Standard Library Documentation: Using our newly revamped
>>    'chpldoc' tool for creating source-based documentation (also part of
>>    this release), we've updated all of our standard library documentation
>>    and put it on the web:
>>
>>          http://chapel.cray.com/docs/latest/
>>
>> * A new FileSystem Module: As part of a recent effort to beef up our
>>    standard libraries, this release contains a new FileSystem module which
>>    supports copying, renaming, and moving files and directories, as well as
>>    a number of iterators for interacting with the file system serially or
>>    in parallel.  For more information, see its web-based documentation at:
>>
>>          http://chapel.cray.com/docs/latest/modules/standard/FileSystem.html
>>
>> * A new FFTW Module: Contributed by Nikhil Padmanabhan (Yale University),
>>    this library module wraps a number of key 64-bit FFTW routines in a
>>    Chapel-oriented interface.  For more information, see:
>>
>>          http://chapel.cray.com/docs/latest/modules/standard/FFTW.html
>>
>> * Vectorization: When using the --fast or --vectorize flags and a back-end
>>    version of gcc/icc that supports vectorization, the serial inner loops
>>    generated for Chapel data parallel operations are now annotated
>>    to hint to the back-end compiler that the loop is safe for
>>    vectorization.  For more information see the --vectorize flag on the
>>    'chpl' man page.
>>
>> * Less Conservative Communication: One of Chapel's traditional performance
>>    limiters in distributed-memory settings has been the generation of
>>    far-too-conservative communication code by the Chapel compiler.  This
>>    release contains a stepping stone toward remedying this situation by
>>    supporting a developer-oriented pragma that can be used to assert the
>>    locality of class references and applying it to the internal data
>>    structures used to implement arrays.  This results in cleaner generated
>>    scalar code, enabling additional back-end C compiler optimizations and
>>    reducing unnecessary runtime locality checks.
>>
>> * Default to ugni/muxed on Crays: For users of the Cray module, this
>>    release makes the ugni/muxed runtime layers the default, resulting
>>    in significant performance gains over the previous default of
>>    gasnet/qthreads.  See doc/platforms/README.cray in the release for
>>    more details.
>>
>> * Initial Support for Python->Chapel Interoperability: This release
>>    contains initial support for making calls from Python to Chapel as part
>>    of our ongoing interoperability effort, developed by Simon Lund of the
>>    University of Copenhagen.  For more information, see:
>>
>>          http://pychapel.readthedocs.org/
>>
>> * Prototype Chapel Interpreter: We have recently started on an effort to
>>    support Chapel in an interactive/interpreted mode in which the
>>    environment executes the Chapel code as it is entered, as in popular
>>    scripting and productivity languages.  This release contains an early
>>    prototype of this effort (chpl-ipe) for those who would like to
>>    preview the concept.  For more information, refer to:
>>
>>
>> https://github.com/chapel-lang/chapel/blob/release/1.11/doc/release/technotes/README.chpl-ipe.rst
>>
>> * Standalone Parallel Iterators: Traditionally, Chapel's forall loops
>>    have been implemented using leader-follower iterators, which support
>>    the ability to perform zippered iteration over multiple collections.
>>    In the case of forall loops over a single object, however, this
>>    interface introduced unnecessary complexity and overheads.  To remedy
>>    this, Chapel now supports standalone parallel iterators which support
>>    the optimized implementation of non-zippered data parallel loops.
>>
>> * Forall Intents and Improved Task Intents: Continuing work started in
>>    previous releases for task parallel constructs, version 1.11 extends
>>    task intent semantics to forall loops, reducing the chances of race
>>    conditions in common cases.  As with task intents, a with-clause may
>>    be applied to the forall loop to request semantics other than the
>>    default.  This release also adds support for intents other than 'ref',
>>    such as 'in' and 'const'.  Finally, it includes an early prototype of a
>>    new 'reduce' intent on forall loops.
>>
>> * A 'chpltags' Utility: For those developing large Chapel codes,
>>    util/chpltags can be used to index Chapel source files, permitting emacs
>>    and vim users to jump to definitions of functions, iterators, and the
>>    like.
>>
>> * Numerous other improvements to performance, generated code, and
>>    portability, as well as bug fixes, documentation improvements, etc.
>>
>> ...and much more!  For more information on the features above, or to see a
>> more complete list of changes in version 1.11.0, refer to the list at the
>> end of this message, or to $CHPL_HOME/CHANGES within the release itself.
>>
>>
>> Contributors to this release include:
>>
>>     Sean Billig, individual contributor
>>     Kyle Brady, Cray Inc.
>>     Brad Chamberlain, Cray Inc.
>>     Sung-Eun Choi, Cray Inc.
>>     Lydia Duncan, Cray Inc.
>>     Michael Ferguson, Cray Inc.
>>     Ben Harshbarger, Cray Inc.
>>     Tom Hildebrandt, Cray Inc.
>>     David Iten, Cray Inc.
>>     Vassily Litvinov, Cray Inc.
>>     Simon Lund, Københavns Universitet (University of Copenhagen)
>>     Tom MacDonald, Cray Inc.
>>     Phil Nelson, Western Washington University
>>     Michael Noakes, Cray Inc.
>>     Nikhil Padmanabhan, Yale University
>>     Elliot Ronaghan, Cray Inc.
>>     Francisco Souza, individual contributor
>>     Greg Titus, Cray Inc.
>>     Thomas Van Doren, Cray Inc.
>>
>>
>> To download the 1.11 release, visit its page at GitHub:
>>
>>     https://github.com/chapel-lang/chapel/releases/tag/1.11.0
>>
>> Our development repository is also hosted at GitHub, making it the best
>> place to track or contribute to ongoing Chapel development:
>>
>>     https://github.com/chapel-lang/chapel
>>
>> Whether you're a Facebook user, or would simply like to stalk us, check our
>> project Facebook page for a steady stream of informal posts about the
>> project and language:
>>
>>          https://www.facebook.com/ChapelLanguage
>>
>> Chapel mailing lists devoted to users, developers, educators, and
>> announcements like this one continue to be hosted from our SourceForge
>> project page (which also hosts a mirror of the 1.11.0 release):
>>
>>     http://sourceforge.net/p/chapel/mailman/
>>
>> Our main project page continues to be hosted at:
>>
>>     http://chapel.cray.com
>>
>> and it remains the best place to find Chapel-related information such as
>> papers, presentations, blog posts, tutorials, news items, collaborations,
>> job listings and the like.
>>
>> As always, we're interested in your feedback on how we can make the Chapel
>> language and implementation more useful to you.
>>
>> On behalf of the Chapel Development Team,
>> -Brad Chamberlain
>>
>>
>> =======================================
>> Release Changes List for version 1.11.0
>> =======================================
>>
>> Fourteenth public release of Chapel, April 2, 2015
>>
>> Highlights
>> ----------
>> * revamped 'chpldoc' and used it to create web docs for all standard modules
>>    (see http://chapel.cray.com/docs/latest/)
>> * added a new FileSystem standard module supporting operations on files/dirs
>>    (see http://chapel.cray.com/docs/latest/modules/standard/FileSystem.html)
>> * added a new FFTW standard module supporting key FFTW routines
>>    (see http://chapel.cray.com/docs/latest/modules/standard/FFTW.html)
>> * added task intents to forall loops, plus new intents such as 'in' and
>> 'reduce'
>>    (see 'Semantic Changes' and 'New Features' sections below)
>> * added support for standalone parallel iterators, used by non-zippered
>> foralls
>>    (see examples/primers/parIters.chpl)
>> * added support for vectorization of data parallel loops and operations
>>    (see '--vectorize' flag in 'man chpl')
>> * optimized away communication code for module-scope variables and local
>> arrays
>>    (see release note slides at
>> http://chapel.cray.com/download.html#releaseNotes)
>> * added an early prototype interactive/interpreted mode for writing Chapel
>> code
>>    (see doc/technotes/README.chpl-ipe.rst for more details)
>> * initial support for Python->Chapel interoperability via PyChapel
>>    (see http://pychapel.readthedocs.org/ for more details)
>> * made 'ugni'/'muxed' the default comm/tasking choices for cray-x* module
>> users
>>    (see doc/platforms/README.cray and doc/README.chplenv)
>> * added a new 'chpltags' utility to generate emacs/vim tags for Chapel code
>>    (see 'util/chpltags --help' and 'util/README')
>> * numerous other improvements for better performance and cleaner generated
>> code
>>    (see 'Performance Improvements' section below)
>> * improved portability to NetBSD and additional flavors of Linux
>>    (see 'Portability Improvements' section below)
>> * upgraded the bundled versions of GASNet, hwloc, llvm, and dygraphs
>>    (see 'Third-Party Software Changes' section below)
>> * numerous bug fixes
>>    (see 'Bug Fixes' section below)
>>
>> Environment/Configuration Changes
>> ---------------------------------
>> * made the setchplenv.* scripts prepend to PATH and MANPATH rather than
>> append
>> * made the "quickstart" scripts set CHPL_COMM to 'none' and not set CHPL_MEM
>> * improved the logic for auto-detecting when CHPL_ATOMICS should be
>> 'intrinsics'
>> * added auto-detection of CHPL_*_PLATFORM for 'cray-xc'/'cray-xe' systems
>> * added support for building runtime/third-party with the bundled clang
>> version
>>    (see references to 'clang-included' in README.chplenv)
>> * split the 'cygwin' CHPL_*_PLATFORM value into 'cygwin32' and 'cygwin64'
>> * added new 'netbsd32' and 'netbsd64' values for CHPL_*_PLATFORM
>> * changed CHPL_COMM/TASKS to default to ugni/muxed when using the cray-x*
>> module
>>    (see doc/README.chplenv, doc/platforms/README.cray, and/or
>> doc/README.tasks)
>> * made CHPL_TASKS default to 'fifo' for 'cray-prgenv-cray'
>> CHPL_TARGET_COMPILER
>>
>> Packaging Changes
>> -----------------
>> * updated Makefiles to support building Chapel in parallel via 'make -j'
>> * avoid rebuilding gmp and re2 speculatively when previous builds have
>> failed
>>
>> Tool Changes
>> ------------
>> * added an early prototype interactive/interpreted mode for writing Chapel
>> code
>>    (see doc/technotes/README.chpl-ipe.rst for more details)
>> * revamped 'chpldoc' to create HTML files via Sphinx for documenting Chapel
>> code
>>    (see doc/technotes/README.chpldoc.rst and 'man chpldoc' for more details)
>> * added a new 'chpltags' utility to generate emacs/vim tags for Chapel code
>>    (see 'util/chpltags --help' and 'util/README' for more information)
>>
>> Syntactic/Naming Changes
>> ------------------------
>> * removed the placeholder keyword 'refvar' in favor of the new keyword 'ref'
>> * removed support for the use of 'var' as a return intent (use 'ref'
>> instead)
>>
>> Semantic Changes / Changes to Chapel Language
>> ---------------------------------------------
>> * added support for task intent clauses and semantics to forall loops
>>    (see 'Data Parallelism: Forall Intents' in the language specification)
>> * added initial support for 'reduce' intents on forall loops
>>    (see doc/technotes/README.reduceIntents)
>> * removed the 'type select x' syntax in favor of simply using 'select
>> x.type'
>> * made read()s of sync/single variables result in a compiler error
>>
>> New Features
>> ------------
>> * added "blank", 'const', 'in', 'const in' and 'const ref' task intents
>>    (see 'Task Parallelism: Task Intents' in the language specification)
>> * added "standalone parallel iterators", used by non-zippered forall loops
>>    (see examples/primers/parIters.chpl)
>> * added support for aliasing of domains via the '=>' operator
>>
>> New Interoperability Features
>> -----------------------------
>> * inital support for Python->Chapel interoperability via PyChapel
>>    (see http://pychapel.readthedocs.org/ for more details)
>> * added a prototype capability to embed external dependences to source via
>> 'use'
>>    (e.g., use "foo.h", "-lfoo"; is like adding these to the 'chpl'
>> command-line)
>> * added support for passing multidimensional arrays to external routines
>>    (see doc/technotes/README.extern)
>> * added munging of all user identifiers by default to avoid naming conflicts
>>    (see --[no-]munge-user-idents in 'man chpl' and doc/README.executing)
>> * added an error when passing Chapel strings to C routines; use c_string
>> instead
>>
>> Standard Library/Modules
>> ------------------------
>> * added a new module, FileSystem, containing numerous file system operations
>>    (see http://chapel.cray.com/docs/latest/modules/standard/FileSystem.html)
>> * added support for key 64-bit FFTW routines (single- and multi-threaded)
>>    (see http://chapel.cray.com/docs/latest/modules/standard/FFTW.html and
>>     http://chapel.cray.com/docs/latest/modules/standard/FFTW_MT.html)
>> * added parity() and rotate() operations to the BitOps module
>>    (see http://chapel.cray.com/docs/latest/modules/standard/BitOps.html)
>> * added parallel versions of the glob(), walkdirs(), and findfiles()
>> iterators
>>    (see http://chapel.cray.com/docs/latest/modules/standard/FileSystem.html)
>> * started a new module, Path, supporting realPath(), curDir, parentDir,
>> pathSep
>>    (see http://chapel.cray.com/docs/latest/modules/standard/Path.html)
>> * added a new module, Assert, defining a simple assertion capability
>>    (see http://chapel.cray.com/docs/latest/modules/standard/Assert.html)
>> * added support for C types c_ptrdiff, c_uintptr, and c_intptr to
>> SysCTypes.chpl
>>    (see
>> http://chapel.cray.com/docs/latest/modules/standard/gen/doc/SysCTypes.html)
>> * changed cwd() and chdir() from standalone functions to locale methods
>>    (see http://chapel.cray.com/docs/latest/modules/standard/FileSystem.html)
>> * made mkdir(parents=true) behave more like 'mkdir -p'
>> * added a .safeCast() method to integer types to value-check downcasts
>>    (see http://chapel.cray.com/docs/latest/modules/standard/Types.html)
>> * changed min(t) and max(t) to return 'param' values for integral types 't'
>>    (see http://chapel.cray.com/docs/latest/modules/standard/Types.html)
>> * parameterized RandomStream by an 'eltType' and updated its methods
>> accordingly
>>    (see http://chapel.cray.com/docs/latest/modules/standard/Random.html)
>> * removed the parSafe arguments from RandomStream's methods in the Random
>> module
>>    (see http://chapel.cray.com/docs/latest/modules/standard/Random.html)
>> * added support for escaping pattern-style format strings using %{}
>>    (e.g., "writef("#%{##}", 10)" => "#10")
>> * added support for readf()/writef() of octal values
>> * changed 'BigInt' methods to use Chapel types rather than C types
>> * folded the prototypical 'Filerator' module into the new 'FileSystem'
>> module
>> * retired the 'Containers' module in favor of vector operations on arrays
>>    (see examples/primers/arrayVectorOps.chpl)
>>
>> Performance Improvements
>> ------------------------
>> * added support for vectorization of data parallel loops and operations
>>    (see '--vectorize' flag in 'man chpl')
>> * optimized away the creation of anonymous ranges in loops
>>    (e.g., 'for i in 1..10' no longer creates an anonymous range object for
>> 1..10)
>> * optimized away communication code for module-scope variables and local
>> arrays
>> * optimized iterations over ranges in data parallel constructs like 'forall'
>> * added standalone parallel iterators for ranges and default domain maps
>> * extended loop-invariant code motion to include certain global variables
>> * added an 'assertNoSlicing' config that can be used to optimize array
>> accesses
>>    (see $CHPL_HOME/PERFORMANCE)
>> * avoided creating new singleton tasks within serial execution contexts
>>
>> Memory Improvements
>> -------------------
>> * reduced memory leaks due to compilerWarning()s and runtime string
>> arguments
>> * distinguished between "owned" and "unowned" c_strings in implementation
>> * improved the handling of strings across multiple locales
>>
>> Launcher-specific Changes
>> -------------------------
>> * in the 'pbs-aprun' launcher, removed reliance on the mpp* options
>> * added a --nodelist option to the 'slurm-srun' launcher
>> * in the 'slurm-srun' launcher, stopped using expect scripts
>>
>> Platform-specific Changes
>> -------------------------
>> * fixed an issue in which Qthreads would not handle sleep() correctly for
>> darwin
>> * added a micro-sleep when yielding threads on Cygwin to improve throughput
>> * changed CHPL_COMM/TASKS to default to ugni/muxed when using the cray-x*
>> module
>>    (see doc/README.chplenv, doc/platforms/README.cray, and/or
>> doc/README.tasks)
>> * enabled 'ugni' tasking to be usable with 'qthreads' as well as 'muxed'
>> * reduced default heap size used for CHPL_COMM='ugni' to 2/3 free node
>> memory
>>    (see doc/platforms/README.cray)
>> * changed 'muxed' tasking to use # of threads equal to the # of CPUs by
>> default
>>    (see doc/platforms/README.cray)
>> * disabled optimizations by default for cray-prgenv-cray compilations
>> * split the 'cygwin' platform value into 'cygwin32' and 'cygwin64'
>> * split the 'netbsd' platform value into 'netbsd32' and 'netbsd64'
>> * made CHPL_TASKS default to 'fifo' for 'cray-prgenv-cray'
>> CHPL_TARGET_COMPILER
>>
>> Portability Improvements
>> ------------------------
>> * fixed several portability issues on NetBSD platforms
>> * fixed the use of the --llvm flag on Mac OS X ('darwin') platforms
>> * fixed some portability issues with the use of hwloc and -lnuma for
>> 'qthreads'
>> * fixed some static/dynamic linking issues with certain platforms/compilers
>> * fixed a gmp build issue for 32-bit platforms
>>
>> Third-Party Software Changes
>> ----------------------------
>> * updated the bundled version of GASNet to 1.24.0
>> * updated the bundled version of hwloc to 1.10.1
>> * updated the bundled version of llvm to 3.6.0
>> * upgraded the bundled version of dygraphs to version 1.1.0
>> * added support for dynamically installing Python packages required by
>> 'chpldoc'
>>    (see 'chpldov-venv' in third-party/README)
>> * rearchitected scripting framework for third-party dependences
>> * made the re2 build do a better job of propagating errors back to the
>> Makefiles
>> * changed Qthreads to avoid using guard pages when mprotect() won't work
>> * fixed a bug in limiting the maximum size of Qthreads memory pools
>>
>> Documentation
>> -------------
>> * added web-based docs for all standard modules and removed from
>> spec/READMEs
>>    (see http://chapel.cray.com/docs/latest/)
>> * made some minor improvements to the Quick Reference document
>> * added documentation for class and record destructors to the spec
>> * removed an outdated distinction between function calls using () vs. [] in
>> spec
>> * clarified that integer literals may be 'int' or 'uint' in the spec
>> * added a note for 'zsh' users to the top-level README
>> * added a note to CONTRIBUTORS noting mis-attributed code authors within
>> GitHub
>> * improved the documentation of the slurm* launchers
>>    (see doc/README.launcher, doc/platforms/README.cray)
>> * added a note about ugni memory registration and concurrency with slurm
>>    (see doc/platforms/README.cray)
>> * added a note about a longstanding undocumented feature to squash ref
>> counting
>>    (see $CHPL_HOME/PERFORMANCE)
>>
>> Example Codes
>> -------------
>> * added a new primer example demonstrating use of the FFTW module
>>    (see examples/primers/FFTWlib.chpl)
>> * added standalone parallel iterators to the leader-follower primer and
>> renamed
>>    (see examples/primers/parIters.chpl)
>> * updated and renamed the chpldoc primer example to reflect chpldoc's
>> changes
>>    (see examples/primers/chpldoc.doc.chpl)
>> * updated the random numbers primer to reflect changes to the interface
>>    (see examples/primers/randomNumbers.chpl)
>> * fixed a bug in our lulesh implementation when using the 3D representation
>> * updated miniMD's Stencil distribution to track changes in BlockDist
>> * changed miniMD to work around a bug in passing remote records by blank
>> intent
>> * updated the HPCC FFT example to use new BitOps
>> * updated SSCA2 to reflect new intent semantics for forall-loops
>> * updated the regexdna shootout to accept extra arguments as used by
>> framework
>> * made stream and ra save their problem sizes when performance testing
>> * replaced the use of format() in example codes with writef()
>>
>> Compiler Flags (see 'man chpl' for details)
>> -------------------------------------------
>> * added --[no-]use-noinit to permit 'noinit' to be ignored
>> * added support for setting --fast via environment variable CHPL_FAST
>> * added --[no-]ignore-classes to disable local class optimizations
>> * added --[no-]vectorize to enable/disable generation of vectorization hints
>> * added --[no-]cast-checks to enable/disable value checking in safeCast
>> methods
>> * added --[no-]munge-user-idents to control munging of generated identifiers
>> * removed all documentation-related options; use 'chpldoc' instead
>> * added a flag --[no-]task-tracking to enable/disable runtime task tracking
>>
>> New Semantic Checks (for old semantics)
>> ---------------------------------------
>> * Improved 'const' checking for array/tuple fields and array/domain aliases
>>
>> Error Message Improvements
>> --------------------------
>> * added an error when compiling for a configuration whose runtime is not
>> built
>> * improved error messages for several range overflow conditions
>>
>> Bug Fixes
>> ---------
>> * fixed a bug with dynamically dispatched iterators
>> * fixed a bug with parallel iteration over non-naturally-aligned ranges
>> * fixed a bug in which record variables did not call user-defined
>> constructors
>> * fixed a bug in which arrays of associative domains could cause a segfault
>> * fixed a bug in which user identifiers could easily conflict with C
>> identifiers
>> * fixed a bug with formatted writes of integers using "###."
>> * fixed an infinite loop in binary reads of strings when EOF is reached
>> * fixed a bug preventing sparse domains from having 'uint' indices
>> * fixed a bug when casting param 'int(64)' and 'uint(?)' to 'c_string'
>> * fixed a bug in which secondary parentheses-less methods did not work well
>> * fixed a buffer overrun issue in certain I/O routines
>> * fixed a bug in which defining multiple destructors caused a segfault
>> * fixed some bugs in the standard Buffers module
>> * fixed a bug in which filenames generated by --cpp-lines would get
>> corrupted
>> * fixed a bug in --cache-remote for 32-bit platforms
>> * fixed a bug with loop invariant code motion in the context of nested
>> functions
>> * fixed a crash when using multiple formal type queries for primitives types
>> * fixed a bug in which iterators yielding locale types caused an internal
>> error
>> * fixed a bug in which --no-remove-copy-calls would break certain extern
>> records
>> * fixed a bug in the parser causing issues with &&= and ||= for --baseline
>> * fixed a bug in which developer pragmas were only attached to the first
>> symbol
>>
>> Platform-specific bug fixes
>> ---------------------------
>> * fixed a bug in which I/O errors would print "unknown" for paths for
>> 'cygwin'
>> * fixed a warning in our calls to glob() when compiling with 'prgenv-cray'
>> * fixed an issue in which generated identifiers could be too long for 'pgi'
>> * fixed a bug in which 'gmp' would not build cleanly for 32-bit Ubuntu
>> systems
>> * fixed a bug in atomic operations on 'real' types for CHPL_COMM='ugni'
>>
>> Runtime Library Changes
>> -----------------------
>> * enabled 'ugni' tasking to be usable with 'qthreads' as well as 'muxed'
>> * changed Qthreads to yield after uncontested sync var locks to avoid
>> starvation
>>
>> Compiler Performance
>> --------------------
>> * accelerated compilation times by disabling the task table by default
>>    (see '--[no-]task-tracking' on the 'chpl' man page and
>> doc/README.executing)
>>
>> Testing System
>> --------------
>> * added support for specifying 'skipif' files as executable scripts
>> * added a mode in which only futures with .skipif files are tested
>> * check for .skipif conditions before wasting any effort on a test
>> * switched to a consistent and simpler naming scheme for test configurations
>> * added timing measurements to the log for various aspects of testing
>> * revamped emails sent by testing scripts for maintainability and spam
>> avoidance
>> * made the test system less sensitive to line/versions #s in .bad
>> comparisons
>> * added a --test-root flag, improving start_test when run from outside
>> CHPL_HOME
>> * fixed a bug in which '-nl' was passed to C tests for multilocale testing
>> * added support for jUnit XML-style report generation to start_test and
>> paratest
>> * made paratest.server's compopts/execopts accumulate rather than overwrite
>> * added CHPL_TEST_UNIQUIFY_EXE to support simultaneous test runs on a
>> directory
>> * added the ability to set the default testing timeout via CHPL_TEST_TIMEOUT
>> * added support for CHPL_TEST_NUM_TRIALS to be set by a user's environment
>> * squashed duplicate error messages due to sub_test failures
>> * fixed a bug with stdin redirects for tests with multiple .execopts
>> * made start_test smarter about stdin and launchers for multilocale testing
>> * improved the testing system's handling of timeouts when launchers are used
>> * added validation for CHPL_NIGHTLY_LOGDIR in nightly testing
>> * fixed a bug for tests with multiple execopts settings that timed out
>> * permitted suppression files to contain blank lines
>> * fix bug in which suppression-based issues only appeared in the test
>> summary
>> * fixed a bad interaction between env. vars. set in sub_test vs. execenv
>> files
>> * made sub_test ignore OS errors during unlinking to quiet false negatives
>>
>> Performance Testing/Graphing System
>> -----------------------------------
>> * allow scrolling of the list of graphs independently from graphs themselves
>> * embed more information in the URL of performance graphs for sharing
>> purposes
>> * improved the portability of URLs from the performance graphing system
>> * added support for 'today' as a date in the perf graph system's URL
>> encodings
>> * accelerated graphs by moving sorting of graphs' legends into genGraphs
>> script
>> * track top processes between performance runs to look for causes of noise
>> * improved support for comparing multiple performance testing configurations
>> * started logging the sha values for performance runs, for historical
>> reference
>> * changed performance graphs to use json rather than csv
>> * automatically strip punctuation characters from the end of graph keys
>>
>> Developer-oriented changes: Utility Changes
>> -------------------------------------------
>> * added a new compiler gdb command 'locid' which prints an AST's source
>> location
>> * made build_configs.py support parallel execution
>>
>> Developer-oriented changes: Compiler Flags
>> ------------------------------------------
>> * added --report-order-independent-loops to note loops with vectorization
>> hints
>> * added --remove-unreachable-blocks to attempt early removal of dead code
>> * fixed a code pointer in the --help message for --log
>>
>> Developer-oriented changes: Module improvements
>> -----------------------------------------------
>> * added a pragma for asserting that a class field is local to the object
>> * moved routines in support of iterators to a new module
>> ChapelIteratorSupport
>> * split _build_range() into several routines with better names
>> * refactored overloads of range operator definitions
>> * changed Filerator routines to use new isLink(), isDir(), and isFile()
>> routines
>> * removed requirement to add 'no ChapelStandard' pragma to internal modules
>>
>> Developer-oriented changes: Makefile improvements
>> -------------------------------------------------
>> * added a "WARNINGS" macro that can be used to turn on C-level warnings
>> * moved check for standard C headers into the post-commit smoke test
>> * simplified and regularized third-party Makefiles
>>
>> Developer-oriented changes: Compiler improvements/changes
>> ---------------------------------------------------------
>> * changed the parser to a "pure push" style of parser
>> * changed the compiler to require bison 2.5 (or later)
>> * dramatically reworked representation and manipulation of loop AST nodes
>> * made more AST members private and increased the use of query methods
>> * added a new, prototype AST pretty-printer for Chapel-oriented output
>> * made improvements to list_view()
>> * made flags on a symbol print in a deterministic order
>> * extended DeadCodeElimination to reclaim degenerate C for loops
>> * made 'narrowWideReferences' its own compiler pass and refactor it
>> * moved the 'docs' pass earlier in compilation
>> * reorder localCopyPropagation to avoid a ref-before-def bug
>> * improved verification of expressions to check correctness of AList links
>> * fixed a bug in which failed chpl__tryToken resolutions could roll back too
>> far
>> * removed flags: FLAG_LABEL_BREAK, FLAG_LABEL_CONTINUE, FLAG_USER_NAMED
>> * distinguished FLAG_WIDE from FLAG_WIDE_REF
>> * deprecated the use of the MOD_MAIN tag
>> * simplified code related to calling user-defined constructors vs.
>> _defaultOf
>> * converted the collapsing of nested BlockStmts to use a visitor
>> * added a predicate to determine if an expression is a "statement
>> expression"
>> * converted some uses of C arrays to std::vector in compiler
>> * added binary operators to the BitVec implementation
>> * replaced the basic block macros with private static functions
>> * fixed a bug in basic block analysis
>> * moved the handling of boolean short-circuiting from 'parse' to 'normalize'
>> * renamed 'by' operators in the compiler's IR to avoid naming conflicts
>> * refactored fix_def_expr() in the normalize pass
>> * refactored constant folding vs. dead code elimination for CondStmts
>> * fixed several code issues identified by coverity scan
>> * many other code refactorings and improvements
>>
>> Developer-oriented changes: Runtime improvements
>> ------------------------------------------------
>> * simplified interactions between locale models and the runtime
>> * improved the non-blocking communication interface
>> * added support for the main process to run Chapel tasks
>> * guarded against some src==dst calls to memcpy()
>> * for optimized builds of the runtime, set NDEBUG to turn off assertions
>> * fixed several code issues identified by coverity scan
>>
>> Developer-oriented changes: Generated Code improvements
>> -------------------------------------------------------
>> * improved the spacing when printing IDs via --gen-ids
>>
>>
>> ------------------------------------------------------------------------------
>> Dive into the World of Parallel Programming The Go Parallel Website,
>> sponsored
>> by Intel and developed in partnership with Slashdot Media, is your hub for
>> all
>> things parallel software development, from weekly thought leadership blogs
>> to
>> news, videos, case studies, tutorials and more. Take a look and join the
>> conversation now. http://goparallel.sourceforge.net/
>> _______________________________________________
>> Chapel-announce mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/chapel-announce
>>
>
>


------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to