Thanks, Greg.  That helps me understand the status of things.

And there's nothing wrong with vendors having secret sauce - Intel's
pays my salary :-)

Jeff

On Thu, Apr 16, 2015 at 9:19 AM, Greg Titus <[email protected]> wrote:
> 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
>>>
>>
>>
>



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