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
>



-- 
Jeff Hammond
[email protected]
http://jeffhammond.github.io/

------------------------------------------------------------------------------
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