You can subscribe to this list here.
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
(1) |
Aug
|
Sep
(2) |
Oct
(1) |
Nov
(1) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2012 |
Jan
|
Feb
|
Mar
(2) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
(4) |
Nov
(2) |
Dec
|
2013 |
Jan
(1) |
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
(2) |
Nov
(1) |
Dec
(5) |
2014 |
Jan
(4) |
Feb
|
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(3) |
Nov
(3) |
Dec
(1) |
2015 |
Jan
|
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(1) |
Dec
(1) |
2016 |
Jan
(2) |
Feb
(2) |
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(1) |
Dec
(1) |
2017 |
Jan
(2) |
Feb
|
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(1) |
2018 |
Jan
(4) |
Feb
|
Mar
|
Apr
(2) |
May
(2) |
Jun
(1) |
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
(3) |
Dec
(1) |
2019 |
Jan
|
Feb
(1) |
Mar
(3) |
Apr
|
May
(1) |
Jun
(2) |
Jul
(2) |
Aug
(4) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(1) |
2020 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
(2) |
May
(2) |
Jun
(2) |
Jul
|
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(1) |
From: Brad C. <br...@cr...> - 2016-12-08 17:46:28
|
Hi Chapel Community -- Just below, find the call for papers and talks for CHIUW 2017. If you've done Chapel-related work during the past year, please consider submitting it for presentation at IPDPS 2016! Submissions are due January 20th. On behalf of the CHIUW 2017 committee, -Brad Chamberlain --- Background ========== CHIUW 2017 is the fourth annual Chapel Implementers and Users Workshop, to be held in conjunction with IEEE IPDPS in Orlando FL, June 2-3 2017. This workshop will continue our annual series that brings users and developers of the Chapel language (chapel.cray.com) together to report on work being done with the language and explore ways to advance Chapel. Attendance is open to anyone interested in Chapel, from the seasoned enthusiast to someone simply curious to learn more. Call for Participation ====================== Submissions to CHIUW 2017 will be accepted in two forms: (1) full research papers and (2) talk-only extended abstracts. Research papers should describe novel, original work and will be included in the IEEE IPDPS workshop proceedings. The talk-only option is intended for describing works-in-progress, recapping notable Chapel efforts published this past year, and/or for those with interesting work they'd like to describe yet who are unable to submit a full paper. We anticipate that accepted papers will be awarded longer talk slots than their talk-only counterparts. As in previous years, we also expect to hold a "code camp" day on the second day of the workshop, intended for collaborative Chapel explorations. For example, we typically partner community members who are striving to gain experience with Chapel or its implementation with more experienced Chapel users or developers. For further details about the workshop or submission process, please refer to its website: http://chapel.cray.com/CHIUW2017-cfp.html Key Dates ========= Jan 20 : paper and talk submissions due Feb 17 : notification of acceptances ~Mar 15 : camera-ready deadline Jun 2-3 : CHIUW 2017 Committee ========= General Chairs: --------------- Tom MacDonald, Cray Inc. Michael Ferguson, Cray Inc. Program Committee: ------------------ Brad Chamberlain (chair), Cray Inc. Richard Barrett, Sandia National Laboratories Mike Chu, AMD Mary Hall, University of Utah Jeff Hammond, Intel Jeff Hollingsworth, University of Maryland Cosmin Oancea, University of Copenhagen Nikhil Padmanabhan, Yale University David Richards, Lawrence Livermore National Laboratory Michelle Strout, University of Arizona Kenjiro Taura, University of Tokyo ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/xeonphi _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2016-11-11 16:49:46
|
Hi Chapel Community -- If you'll be at SC16, here is a quick run-down of Chapel-related events that will be taking place during the conference. Additional details for each are available on the Chapel webpage: http://chapel.cray.com/events.html Tutorial -------- On Sunday, we'll be giving a full-day Chapel tutorial including hands-on programming sessions entitled "Productive Programming in Chapel: A Computation-Driven Introduction" CHUG Happy Hour --------------- Sunday evening at 5:30pm, we'll meet for our 7th annual Chapel Users Group happy hour at Settebello Pizzeria Napoletana: http://settebello.net/Locations-Salt-Lake-City.php There's no requirement to RSVP, but if you let us know you're coming, we'll do our best to save you a seat. PGAS Applications Workshop (PAW) -------------------------------- This workshop takes place Monday afternoon and will feature: - a study of CoMD in Chapel by David Richards and Riyaz Haque (LLNL) - a study of ISx in SHMEM and Chapel led by Jake Hemstad (U Minn / Sandia) and Ulf Hanebutte (Intel) - a panel discussion of PGAS and applications experts that I'll be leading ...and much more. See the PAW workshop for full details: http://sourceryinstitute.github.io/PAW/ The PGAS BoF ------------ This annual birds-of-a-feather session will take place on Wednesday at 12:15pm. Meet a Chapel Developer / PGAS Booth / Poster --------------------------------------------- Members of the Chapel team will be at the PGAS booth on Thursday from 10am to noon (and can arrange to meet there at other times by appointment). In addition, there will be a poster summarizing the LLNL CoMD study all week at the PGAS booth. For updates during the show, keep an eye on our Twitter and Facebook feeds. And if you are aware of other Chapel-related events that I've overlooked here, please let me know. We hope to see and meet many of you during SC16! On behalf of the Chapel team, -Brad Chamberlain ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today. http://sdm.link/xeonphi _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2016-10-12 17:47:27
|
Hi Chapel Community -- Hot on the heels of last week's 1.14 release announcement, here's a round-up of other recent Chapel news items to be aware of. The short summary is: * SC16: Join us at the Chapel tutorial, CHUG happy hour, and/or PGAS Applications Workshop! Early registration for SC closes in a few days. * CHIUW 2017: Our annual workshop will be held at IPDPS 2017. Start thinking about papers or talks to submit for the January 20th deadline. * GSoC: Read all about our successful first Google Summer of Code. * Docker: A Chapel image is now available on Docker Hub. In more detail: SC16 ==== The early registration deadline for SC16 is coming up in a few days on October 16th. At present, there are three main Chapel-related events to be aware of at SC16: * Tutorial: Productive Programming in Chapel: A Computation-Driven Introduction This will be a full-day tutorial with hands-on exercises that we're teaching on Sunday, November 13th. If you or your colleagues/students are interested in an in-depth introduction to Chapel, this is the event to attend. More information about the tutorial is available in our promo video and on the SC16 website: https://youtu.be/2yye1yJPcsg http://sc16.supercomputing.org/presentation/?id=tut122&sess=sess206 * CHUG 2016: 7th annual Chapel Users Group Happy Hour Though we haven't formally scheduled it yet, our annual CHUG happy hour is likely to take place the evening of Sunday, November 13th after the tutorial has concluded. If you know Salt Lake City and would like to propose a venue, please let us know, otherwise we'll take a stab in the dark. * Workshop: PGAS Applications Workshop (PAW) This is a new half-day workshop designed to highlight applications work being done in PGAS languages that will be held on Monday afternoon, November 14th. Two of the talks will feature Chapel-related results, one from Intel and Cray looking at the performance of ISx in SHMEM and Chapel; and a second from LLNL studying CoMD in Chapel. More information about PAW can be found on its website and the official SC website: http://sourceryinstitute.github.io/PAW/ http://sc16.supercomputing.org/presentation/?id=wksp101&sess=sess103 On the topic of SC16, many of you are aware that we were hoping to re-establish the Chapel Lightning Talks BoF session this year, but unfortunately our proposal was turned down in spite of receiving positive reviews. Our sense is that there is a lot of competition for BoF slots at SC and that preference tends to be given to BoFs that are expected to generate the largest audiences. So our challenge in future years will likely be to attract large audiences and to argue that we can do so. CHIUW 2017 ========== The 4th annual Chapel Implementers and Users Workshop (CHIUW 2017) will be held in conjunction with IPDPS 2017 in Orlando, Florida. We have not yet been assigned a specific date, though it's likely to be either May 29th or (more likely) June 2nd. As with CHIUW 2016, we will be accepting both full research papers and talk-only extended abstracts. The deadline for submissions will be on January 20th, so this is the time to start thinking about what work you might submit. For details on CHIUW 2017, please refer to: http://chapel.cray.com/CHIUW2017-cfp.html Google Summer of Code round-up ============================== While we've got you, we wanted to mention that our first Google Summer of Code concluded successfully, and that the code developed by our great students --- Andrea Francesco Iurio (University of Milan) and Kushal Singh (IIIT Hyderabad) --- was included in last week's 1.14.0 release. For a more detailed write-up of their efforts and our involvement in the GSoC program, please see Ben Albrecht's recent article on the Cray blog: http://www.cray.com/blog/chapel-completes-first-summer-code/ Chapel on Docker ================ A Chapel image is now available for Docker. Details are available on Docker Hub, and a link to it is available on our "download" page: https://hub.docker.com/r/chapel/chapel/ http://chapel.cray.com/download.html Thanks, and we hope to see many of you at SC17! -Brad ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2016-10-07 00:31:20
|
Dear Chapel community -- Cray Inc. and the Chapel open-source community are proud to announce the release of version 1.14 of Chapel! This release's highlights include: * A number of performance improvements due to: - optimizing array accesses - accelerating promoted expressions over aligned arrays - streamlining memory management via 'jemalloc' improvements - reducing contention in reductions - enabling bulk transfer over strided array slices - implementing 'sync' variables using native 'qthreads' features The impact of these optimizations can be observed in our nightly performance tracking graphs: http://chapel.sourceforge.net/perf/ * A number of additions and improvements to Chapel's library modules: - a new 'BigInteger' module providing a 'bigint' type and operations - an 'MPI' module supporting message passing within Chapel programs - a 'ZMQ' module for inter-process communication via ZeroMQ - a 'BLAS' module supporting the level-3 interface - improved 'Search' and 'Sort' module routines Descriptions of these modules can be found in Chapel's online documentation: http://chapel.cray.com/docs/latest/modules/standard.html http://chapel.cray.com/docs/latest/modules/packages.html * Support for new array distributions: - distributed sparse domains and arrays: access these by creating sparse subdomains of 'Block'-distributed domains. - a 'StencilDist' distribution which provides a variation of 'Block' that is specialized for stencil computations: http://chapel.cray.com/docs/latest/modules/dists/StencilDist.html * Online documentation improvements, including: - nicely formatted versions of the primer and "hello world" examples from the release: http://chapel.cray.com/docs/latest/examples/index.html http://chapel.cray.com/docs/latest/primers/index.html - new articles in the (work-in-progress) users guide: http://chapel.cray.com/docs/latest/users-guide/index.html * A now-complete set of the Computer Language Benchmarks Game programs, including several style and performance improvements over previous versions. Find these at $CHPL_HOME/examples/benchmarks/shootout/ in the release. * A new capability for generating stack traces on 'halt's: http://chapel.cray.com/docs/1.14/usingchapel/chplenv.html#chpl-unwind * The ability to pass Chapel functions to external C routines: http://chapel.cray.com/docs/latest/technotes/extern.html#c-fn-ptr * Significant improvements to the 'chplvis' execution analysis tool: http://chapel.cray.com/docs/latest/tools/chplvis/chplvis.html * Support for setting default CHPL_* settings via .chplconfig files: http://chapel.cray.com/docs/latest/usingchapel/chplenv.html#chapel-configuration-file * Improved support for reduce intents on parallel loops: http://chapel.cray.com/docs/latest/technotes/reduceIntents.html * The ability to implement Chapel's atomics using C's: http://chapel.cray.com/docs/1.14/usingchapel/chplenv.html#chpl-atomics * The closing of several classes of memory leaks, most notably sync/single variables. * Improved error messages when flagging modifications to 'const' shadow variables introduced by parallel constructs. * Updated versions of the jemalloc, GASNet, Qthreads, hwloc, and MassiveThreads third-party packages. Not to mention numerous portability improvements, bug fixes, and feature enhancements. To see a far more complete list of changes in version 1.14.0, refer to the list at the end of this message, or to CHANGES.md within the release or online: https://raw.githubusercontent.com/chapel-lang/chapel/release/1.14/CHANGES.md Contributors to this release include: Ben Albrecht, Cray Inc. Matthew Baker, ORNL Paul Cassella, Cray Inc. Brad Chamberlain, Cray Inc. Sung-Eun Choi, Cray Inc. Laura Delaney, Whitworth University / Cray Inc. Lydia Duncan, Cray Inc. Michael Ferguson, Cray Inc. Ben Harshbarger, Cray Inc. Andrea Francesco Iuorio, Università degli Studi di Milano / GSoC David Iten, Cray Inc. David Keaton, Cray Inc. Engin Kayraklioglu, George Washington University / Cray Inc. Vassily Litvinov, Cray Inc. Tom MacDonald, Cray Inc. Deepak Majeti, individual contributor Phil Nelson, Western Washington University / Cray Inc. Michael Noakes, Cray Inc. Nikhil Padmanabhan, Yale University Nicholas Park, DOD Elliot Ronaghan, Cray Inc. Preston Sahabu, Cray Inc. Kushal Singh, Int'l Institute of Information Technology, Hyderabad / GSoC Kenjiro Taura, University of Tokyo Chris Taylor, DOD Greg Titus, Cray Inc. Tony Wallace, Cray Inc. Hui Zhang, University of Maryland To download and install the release, see: http://chapel.cray.com/download.html Whether you're a Facebook or Twitter user, or would simply enjoy stalking us online, check our project's social media pages for a steady stream of informal posts about the project and language: https://www.facebook.com/ChapelLanguage https://twitter.com/ChapelLanguage https://www.youtube.com/channel/UCHmm27bYjhknK5mU7ZzPGsQ/ Our development repository is hosted at GitHub, making it the best place to track or contribute to ongoing Chapel development: https://github.com/chapel-lang/chapel 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 ============== version 1.14.0 ============== Seventeenth public release of Chapel, October 6, 2016 Highlights (see subsequent sections for more details) ----------------------------------------------------- * performance optimization highlights: - optimized array accesses for programs using simple/common array operations - dramatically improved performance of promoted expressions over aligned data - streamlined memory management through new jemalloc upgrades and features - optimized reductions by using an atomic spin lock rather than a sync var - enabled the bulk transfer of strided array slices by default - significantly optimized 'sync' variables when using 'qthreads' tasking * standard library highlights: - added a new standard 'BigInteger' module providing value-based 'bigint's (see http://chapel.cray.com/docs/1.14/modules/standard/BigInteger.html) - added new communication package modules for MPI and ZeroMQ (see http://chapel.cray.com/docs/1.14/modules/packages/MPI.html and http://chapel.cray.com/docs/1.14/modules/packages/ZMQ.html) - added new package modules for BLAS, MatrixMarket, and range chunking (see http://chapel.cray.com/docs/1.14/modules/packages/BLAS.html, $CHPL_HOME/modules/packages/MatrixMarket.chpl, and http://chapel.cray.com/docs/1.14/modules/packages/RangeChunk.html) - dramatically revamped the Sort and Search modules, including comparators (see http://chapel.cray.com/docs/1.14/modules/packages/Sort.html and http://chapel.cray.com/docs/1.14/modules/packages/Search.html) * domain map highlights: - added support for Block-distributed sparse domains and arrays (see http://chapel.cray.com/docs/1.14/modules/dists/BlockDist.html) - added a new 'StencilDist' distribution in support of stencil access patterns (see http://chapel.cray.com/docs/1.14/modules/dists/StencilDist.html) * implementation improvement highlights: - added a capability for generating stack traces on 'halt's (see http://chapel.cray.com/docs/1.14/usingchapel/chplenv.html#chpl-unwind) - improved support for reduce intents on parallel loops (see http://chapel.cray.com/docs/1.14/technotes/reduceIntents.html) - added the ability to implement Chapel's atomics using C atomics (see http://chapel.cray.com/docs/1.14/usingchapel/chplenv.html#chpl-atomics) - added the ability to pass Chapel functions to extern C routines (see http://chapel.cray.com/docs/1.14/technotes/extern.html#c-fn-ptr) * documentation and example code highlights: - added the primer and "hello world" example codes to the online documentation (see http://chapel.cray.com/docs/1.14/primers/index.html and http://chapel.cray.com/docs/1.14/examples/index.html) - completed and updated our suite of Computer Language Benchmark Game codes (see $CHPL_HOME/examples/benchmarks/shootout/* and http://benchmarksgame.alioth.debian.org/)) - added several new pages to the online users guide (see http://chapel.cray.com/docs/1.14/users-guide/index.html) * additional highlights: - made significant improvements to the 'chplvis' execution analysis tool (see http://chapel.cray.com/docs/1.14/tools/chplvis/chplvis.html) - added support for a new .chplconfig file supporting default CHPL_* settings (see http://chapel.cray.com/docs/1.14/usingchapel/chplenv.html) - clarified errors related to modifying 'const' intent-based shadow variables - updated versions of: jemalloc, GASNet, qthreads, hwloc, massivethreads (see $CHPL_HOME/third-party/*) - closed several classes of memory leaks, most notably due to sync/single vars - improved the portability of the code base - numerous bug fixes Configuration Changes --------------------- * added support for a new .chplconfig file supporting default CHPL_* settings (see http://chapel.cray.com/docs/1.14/usingchapel/chplenv.html) * added an '--anonymize' flag to 'printchplenv' to hide potential sensitivities * enabled 'jemalloc' by default on 'darwin' platforms using 'gnu' compilers * enabled 'jemalloc' for target compilers 'pgi' and 'cray-prgenv-cray' * changed the 'numa' locale model to use the 'distrib' scheduler for 'qthreads' Semantic Changes / Changes to Chapel Language --------------------------------------------- * Chapel now permits trailing commas within tuples and array literals (see 'Tuple Values' and 'Rectangular Array Literals' in the language spec) * made casts between 'real' and 'imag' types preserve floating point values * added support for empty 'only'/'except *' qualifiers on 'use' statements (e.g., 'use M only ;' or 'use M except *;' requires qualified naming) * added a new reduce= operator for intent-based reductions (see http://chapel.cray.com/docs/1.14/technotes/reduceIntents.html) * made assigning stridable ranges and domains to non-stridable an error * stopped implicit 'use' of standard automatic modules within user sub-modules Syntactic/Naming Changes ------------------------ * added the ability to specify an optional 'do' on 'otherwise' statements New Features ------------ * added a capability for generating stack traces on 'halt's (see http://chapel.cray.com/docs/1.14/usingchapel/chplenv.html#chpl-unwind) * added support for iterating over, and querying the 'size' of enumerated types (see 'Enumerated Types' in the language specification) * added support for recursive record/class initializers * added new .bulkAdd()/+= features for sparse domains supporting bulk index adds (see http://chapel.cray.com/docs/1.14/builtins/ChapelArray.html) * added support for reduce intents with different input/state/output types * added an 'align' operator for domains (see 'Domain Alignment' in the language specification) * added casts and safeCasts to turn stridable ranges/domains into non-stridable * added support for 'retType' and 'argTypes' queries to first-class functions (http://chapel.cray.com/docs/1.14/technotes/firstClassFns.html#reflection) * added the ability to create serial iterators for types (see 'The Method Receiver and the 'this' Argument' in the language spec) * added early prototype support for class/record initializers (constructors) (see https://github.com/chapel-lang/chapel/blob/master/doc/chips/10.rst) Feature Improvements -------------------- * added support for a requestCapacity() method on associative domains (see http://chapel.cray.com/docs/1.14/builtins/ChapelArray.html) * added the ability to query locality information of domains and distributions (see http://chapel.cray.com/docs/1.14/builtins/ChapelArray.html) * improved the support for compilerError, compilerWarning, and compilerAssert (see http://chapel.cray.com/docs/1.14/builtins/UtilMisc_forDocs.html) * made promoted array assignments always use a parallel loop * extended the number of indices that an associative domain can store * added the ability to have 'param' formal arguments on parallel iterators * preserved 'param' values within the context of 'forall' loops * added support for casting from 'param' values to arrays Interoperability Improvements ----------------------------- * added the ability to pass Chapel functions to extern C routines (see http://chapel.cray.com/docs/1.14/technotes/extern.html#c-fn-ptr) * added support for casts to 'string' from 'c_void_ptr' and 'c_ptr' Standard Modules/Library ------------------------ * added a new 'BigInteger' module providing a value-based 'bigint' type (see http://chapel.cray.com/docs/1.14/modules/standard/BigInteger.html) * strings: - improved the flexibility of arguments passed to join() calls (see http://chapel.cray.com/docs/1.14/builtins/String.html#String.string.join) - made a version of split() that handles arbitrary whitespace (see http://chapel.cray.com/docs/1.14/builtins/String.html#String.string.split) - made the 'ascii()' routine return uint(8)s rather than int(32)/int(64)s - changed the default binary string format to data_toeof - removed most library functions on c_strings * Math module: added support for standard operations on 'complex' values (see http://chapel.cray.com/docs/1.14/modules/standard/Math.html) * Buffers module: added support for buffer.copyin/copyout methods (see http://chapel.cray.com/docs/1.14/modules/standard/Buffers.html) * Reflection module: - added getFieldRef() functions to obtain a reference to a field (see http://chapel.cray.com/docs/1.14/modules/standard/Reflection.html) - added the ability to query whether a type method can be called (see http://chapel.cray.com/docs/1.14/modules/standard/Reflection.html) * DynamicIters module: added a dynamic iterator for domains (see http://chapel.cray.com/docs/1.14/modules/standard/DynamicIters.html) * GMP module: deprecated the 'BigInt' class in favor of 'bigint' Package Modules --------------- * added initial support for a 'BLAS' module supporting the level 3 routines (see http://chapel.cray.com/docs/1.14/modules/packages/BLAS.html) * added an MPI module supporting message passing between Chapel images/locales (see http://chapel.cray.com/docs/1.14/modules/packages/MPI.html) * added a ZeroMQ module supporting inter-application communication via 0MQ (see http://chapel.cray.com/docs/1.14/modules/packages/ZMQ.html) * added support for a 'MatrixMarket' module providing file serialization (see $CHPL_HOME/modules/packages/MatrixMarket.chpl) * added a new 'RangeChunk' package for dividing ranges into multiple chunks (see http://chapel.cray.com/docs/1.14/modules/packages/RangeChunk.html) * Sort module: dramatically revamped the module, including comparator support (see http://chapel.cray.com/docs/1.14/modules/packages/Sort.html) * Search module: dramatically revamped the module, including comparator support (see http://chapel.cray.com/docs/1.14/modules/packages/Search.html) Domain Maps (Layouts and Distributions) --------------------------------------- * added a new 'StencilDist' distribution in support of stencil access patterns (see http://chapel.cray.com/docs/1.14/modules/dists/StencilDist.html) * added support for Block-distributed sparse domains and arrays (see http://chapel.cray.com/docs/1.14/modules/dists/BlockDist.html) * extended Block distributions to support strided bounding boxes Performance Optimizations/Improvements -------------------------------------- * optimized array accesses for programs that use simple/common array operations * optimized the performance of promoted expressions over aligned data * optimized memory management through new jemalloc upgrades and features * optimized reductions by using an atomic spin lock rather than a sync var * enabled the bulk transfer of strided array slices by default * implemented 'sync' variables natively for 'qthreads' tasking * optimized functions returning references to avoid widening them when possible * optimized on-statements that end up being local * optimized the implementation of decrementing remote task counters * stopped heap-allocating variables due to on-clauses for 'fifo' and 'muxed' * improved the performance of intrinsic-based floating-point atomic 'fetchAdd's * fixed a potential performance issue when growing/shrinking arrays as vectors * made modest improvements to the performance of associative domains * optimized the implementation of .re and .im for complex values * optimized base**exp operations when 'base' is a param power of two Memory Improvements ------------------- * obtained memory allocation improvements through 'jemalloc' upgrades and usage * closed memory leaks caused by 'sync'/'single' variables * closed a memory leak relating to 'args' arguments sent to main() * closed a memory leak caused by module-scope detuple variable declarations Example Codes ------------- * added all remaining Computer Language Benchmark Game programs (see $CHPL_HOME/examples/benchmarks/shootout/* and http://benchmarksgame.alioth.debian.org/) * significantly improved existing Computer Language Benchmark Game programs (see $CHPL_HOME/examples/benchmarks/shootout/*) * made improvements to LCALS for style and performance (see $CHPL_HOME/examples/benchmarks/lcals/*) * changed ISx to use low-level PCG interface to match the reference version (see $CHPL_HOME/examples/benchmarks/isx/*) Tool Changes ------------ * 'chplvis' improvements: - added a "settings" window - fixed undetected 'chplvis' regressions in 1.13 - made significant improvements to the user interface - added new views of execution-time data (see http://chapel.cray.com/docs/1.14/tools/chplvis/chplvis.html) * 'chpldoc' improvements: improved formatting and handling of many situations Documentation ------------- * added the primer example codes to the online documentation (see http://chapel.cray.com/docs/1.14/primers/index.html) * added the 'hello world' examples to the online documentation (see http://chapel.cray.com/docs/1.14/examples/index.html) * added a new primer example for modules and 'use' statements (see doc/release/examples/primers/modules.chpl) * added a number of new sections to the user's guide (see http://chapel.cray.com/docs/1.14/users-guide/index.html) * significantly re-worked the multi-locale execution and quickstart docs (see http://chapel.cray.com/docs/1.14/usingchapel/multilocale.html and http://chapel.cray.com/docs/1.14/usingchapel/QUICKSTART.html) * moved information about execution on UDP-based systems into its own document (see http://chapel.cray.com/docs/1.14/platforms/udp.html) * added usage ('use ...') information to chpldoc-generated module documentation (e.g., see http://chapel.cray.com/docs/1.14/modules/standard/Assert.html) * added documentation for the 'chplvis' file format (see $CHPL_HOME/tools/chplvis/TextDataFormat.txt) * updated the steps required to build Chapel with newer HDFS sources (see http://chapel.cray.com/docs/1.14/modules/packages/HDFS.html and http://chapel.cray.com/docs/1.14/technotes/auxIO.html#setting-up-hdfs) * added an archive of past language specification versions to the online docs (see http://chapel.cray.com/docs/1.14/language/archivedSpecs.html) * updated and fixed minor issues in the language specification * fixed a plethora of spelling mistakes throughout the documentation * fixed several online documentation formatting errors Compiler Flags (see 'man chpl' for details) ------------------------------------------- * added a new --denormalize flag that cleans up generated code before codegen * stopped throwing --vectorize when --fast is thrown Portability Improvements ------------------------ * improved the portability of the code base to gcc 6.x * improved portability to FreeBSD, Solaris, illumos, OmniOS, Ubuntu * added initial support for compiling single-locale programs for 64-bit ARM Cray-specific Changes --------------------- * removed an obsolete warning about having hugepage modules loaded on Crays Syntax Highlighting ------------------- * added instructions for using vim highlighting for Vundle and vim-plug users * fixed portability of Chapel's emacs mode for emacs 24.x * added support for nested block comments to emacs and 'highlight' highlighting * fixed the highlighting of binary literals in Pygments * updated our support for Andre Simon's highlighter to support version 3.x Error Message Improvements -------------------------- * added a clarifying statement for 'const' errors due to task/forall intents * made string OOB messages print the offending index * squashed C warnings considered to be noise in the back-end compiler * added an error message for declaring constructors/initializers without parens * added an error for user fields named 'outer' * fixed some spelling errors in error messages * removed warnings for assigning serial iterators/iterables to arrays * removed a misleading warning about records and forall intents Runtime Error Checks -------------------- * added bounds checking to string index/slice operations Bug Fixes --------- * fixed a bug in which having CONFIG_SITE set could break third-party builds * made 'compare_exchange' conform to memory order requirements on failure * fixed incorrect 'fetchAdd' and 'fetchSub' implementations on atomics * fixed a bug in which 64-bit atomic loads on 32-bit systems were not atomic * fixed a longstanding but infrequent race condition in privatization * fixed a bug in handling 'ref' return intents * fixed a bug involving 'ref's to array elements * fixed a bug for recursive functions that return records * fixed a bug in accessing overridden methods * fixed a bug in which reduce intents could not be applied to arrays * fixed a bug in iterating over strided, unsigned domains and arrays * fixed a bug in BlockCyclic array accesses for 3D+ arrays * fixed a bug for membership queries in sparse CSR layouts * fixed a bug when storing max(int) in an associative domain of ints * fixed a bug in which arrays within records were incorrectly being localized * fixed a bug in which (+/-1)**k was incorrect for negative values of k * fixed a bug in advancing I/O channels * fixed bugs in the mapping of GMP functions down to the underlying C library * fixed a bug in which readline()'s 'amount' argument was used incorrectly * fixed a bug in which writeln(str) and writef("%s", str) behaved differently * fixed a bug related to using an 'enum' within a library module * fixed a bug ignoring whitespace when casting strings to values * fixed a bug in which the back-end compiler would warn about dead code * fixed a bug in which 'printchplenv --sh' was missing some variables * reduced cases when standard modules were automatically 'use'd in user code * fixed some issues with copy propagation * fixed an occasional compile-time failure in inserting wide references * fixed a bug in which sleep() could under-sleep by 1 microsecond * fixed some bugs with the --llvm-wide-opt flag * fixed a race condition in the 'pbs-aprun' launcher * improved how we handled environment variables with backtics in 'amudprun' * fixed a bug related to locale models and order of resolution Launchers --------- * added an --spmd flag to the 'mpirun' launcher for SPMD Chapel+MPI runs * added --walltime, --partition, --exclude flags to 'slurm_gasnet_ibv' launcher Runtime Library Changes ----------------------- * added the ability to implement atomics using C atomics ('cstdlib') (see http://chapel.cray.com/docs/1.14/technotes/atomics.html and http://chapel.cray.com/docs/1.14/usingchapel/chplenv.html#chpl-atomics) * re-enabled support for massivethreads for single-locale executions * added support for out-of-segment non-blocking puts and gets for 'gasnet' * changed the 'fifo' tasking layer to allocate task stacks in heap memory Generated Code -------------- * improved generated code readability when using the new --denormalize flag * added function IDs and a function ID -> name table to the generated code * enabled the LLVM back-end compiler to produce debug information * improved #line directives in the generated code when using --cpp-lines * improved the generated code quality for 'local' blocks Third-Party Software Changes ---------------------------- * added 'libunwind' as a new third-party package in support of backtraces * upgraded jemalloc to version 4.2.1 * upgraded GASNet to version 1.26.4 * upgraded qthreads to version 1.11 * upgraded hwloc to version 1.11.4 * updated massivethreads to a new version * enabled decay-based purging in jemalloc * improved 'jemalloc's detection of 'librt' when using cray-prgenv-* compilers * disabled 'jemalloc's statistics gathering features by default * added support for the new Qthreads 'distrib' scheduler Testing System -------------- * added a 'close' button to the performance graphs to simplify screening them * improved support for 'notest'ing and 'skipif'ing directories * added the ability to perform multiple trials in correctness testing * added the ability to limit the number of concurrently executing tests * added the ability to squash email notifications by setting CHPL_TEST_NOMAIL * fixed graph annotations for days without any associated data * removed the need to provide an argument to '-[no]stdinredirect * improved how compilation errors are reported for performance testing * made the test system accept empty .compopts/COMPOPTS files * avoided the use of spool files when using moab/torque via 'chpl_launchcmd.py' Removal of Deprecated Features ------------------------------ * removed 'locale.numCores' which was deprecated in 1.13 * removed 'typeToString()', deprecated in 1.13 in favor of casts to strings * removed support for 'setter', 'reader, 'writer', deprecated in 1.13 * removed support for 'fieldNumToName' & 'fieldValueByNum', deprecated in 1.13 * removed the deprecated 'AdvancedIters' module * removed support for KNC Developer-oriented changes: Module changes ------------------------------------------ * significantly refactored sparse domain map modules * reimplemented 'sync' and 'single' variables as records * made string code call more directly to mem* routines in C * made the chpl_here_* routines more generic w.r.t. integral types * added a 'PODValAccess' config param that returns POD array elements by value * added a method to the 'bytes' type to get a raw pointer to memory * adjusted printing within 'DefaultRectangular' to avoid IO dependences * cleaned up the use of '_desync' functions * unified the formatting of the 'ChapelSyncVar' module Developer-oriented changes: Makefile improvements ------------------------------------------------- * removed no-longer-used RUNTIME_GEN_C[XX]_FLAGS macros Developer-oriented changes: Compiler Flags ------------------------------------------ * re-enabled support for the --minimal-modules flag * added a --[no-]parse-only flag to optionally stop compilation after parsing * added an experimental --incremental flag that generates multiple .o files * added an experimental flag for performing CSE on array accesses (see --[no-]replace-array-accesses-with-ref-temps Developer-oriented changes: Compiler improvements/changes --------------------------------------------------------- * moved the handling of PROC_NEW to the resolution pass * cleaned up the representation and handling of varargs * refactored the remote value forwarding pass * refactored the gatherCandidates stage of function resolution * fixed a bug in tryStack when resolving constructor calls * optimized away the creation of tuples for varargs functions in some cases * refactored CallExpr::codegen() * revised isSyncType() to be more consistent and meaningful * moved the "direct on" optimization to the parallel pass * stopped treating 'defaultInitializer' specially for iterators * fixed some filename arguments that were still strings rather than 'int's * stopped unnecessarily remote value forwarding values to task functions * improved how sync/single operations are identified by remote value forwarding * changed how the compiler represents parallel iterable expressions * improved the number and quality of checks performed by the --verify flag * replaced uses of homegrown containers with STL equivalents in the compiler * added QualifiedType support to prepare for revamping representation of 'ref's * fixed the indentation of --html output when viewed within Google Chrome * added support for a simple 'ForallExpr' AST node, used only during parsing * implemented certain reduction expressions using forall expressions Developer-oriented changes: Runtime improvements ------------------------------------------------ * added callbacks to the Chapel runtime's communication calls * simplified and sped up the implementation of chpl_executeOnNB() * eliminated type punning and use of volatile in the implementation of atomics * refactored 'extern "C"' declarations to avoid crossing #include boundaries * changed uses of 'atomic_flag's to 'atomic_bool's to match C11's atomics Developer-oriented changes: Documentation ----------------------------------------- * added developer support for console-/man-based chpldocumentation ('make man-chapel') Developer-oriented changes: Third-party improvements ---------------------------------------------------- * changed many third-party directory structures to avoid using version numbers |
From: Brad C. <br...@cr...> - 2016-06-29 18:08:42
|
Hi Chapel Community -- A couple of quick announcements: Chapel 1.13.1 release --------------------- First, if you haven't noticed on the website, Facebook, or Twitter feeds, we did an interim release of Chapel the other week --- version 1.13.1 -- which contains bug fixes to version 1.13.0. The most important of these was that version 1.13.0 accidentally introduced a new race condition into reductions that would very occasionally cause them to silently drop data. This race is fixed in 1.13.1. Due to the subtlety of the bug, all current users are advised to upgrade to 1.13.1. For a more complete list of the fixes included in 1.13.1, refer to its CHANGES.md file: https://raw.githubusercontent.com/chapel-lang/chapel/release/1.13/CHANGES.md Chapel SC16 Tutorial -------------------- Second, we're pleased to announce that Chapel has had a full-day tutorial accepted for SC16 which will be held on November 13th in Salt Lake City. The tutorial is entitled "Productive Programming in Chapel: A Computation-Driven Introduction." If you or your colleagues would benefit from this tutorial, we encourage you to join us. Chapel SC16 Lightning Talks BoF ------------------------------- For SC16, we are also hoping to revitalize our "Chapel Lightning Talks BoF" which was rejected last year for the first time since its inception. This year, we are hoping to strengthen our proposal by providing a draft list of speakers and topics with the submission, which is due July 31st. To that end, if you have Chapel-related work that you would like to highlight at SC16, please send a short paragraph indicating your interest and your topic to chapel_submissions [at] cray [dot] com by July 18th. Thanks, -Brad ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2016-05-17 05:22:37
|
Dear Chapel Community -- Two quick announcements regarding Chapel-related workshops: 1) CHIUW 2016: First, as a final reminder, the 3rd annual CHIUW workshop will be held next week on Friday May 27th at IPDPS. This year's program features four full-length talks, ten short talks, and a keynote by Nikhil Padmanabhan, Associate Professor of Physics and Astronomy, Yale University: "Chapel in the (Cosmological) Wild." In addition, on Saturday, May 28th, we will hold a half-day Chapel code camp for those interested in programming in Chapel alongside members of the community. For full program details, please see: http://chapel.cray.com/CHIUW2016.html 2) PAW16 CFP: Second, if you've got some good Chapel applications work brewing and you missed the opportunity to publish it at CHIUW this year, read on to learn about a new workshop named PAW: the PGAS Applications Workshop. PAW16 will be held in conjunction with SC16 in Salt Lake City, Utah on November 14th and is soliciting full research papers as well as shorter extended abstracts describing applications work being done in PGAS languages, due July 31st. See the full call for papers below for further information. Thanks, and we hope to see many of you next week! -Brad Chamberlain (on behalf of the CHIUW and PAW committees) ------- CALL FOR PAPERS PAW16: PGAS Applications Workshop http://sourceryinstitute.github.io/PAW/ November 14, 2016 - Salt Lake City, Utah Held in conjunction with SC16 http://sc16.supercomputing.org/ In cooperation with SIGHPC SUMMARY The race towards Exascale computing is on, and a lot of stress is put on researchers to break the boundaries of productivity and efficiency imposed by traditional programming models. Partitioned Global Address Space (PGAS) languages are an effective alternative, and the most promising path towards sustainable programming environments for exascale machines. Languages such as UPC, Fortran, Chapel, and X10 are now more widely available than ever, thanks to increased support from vendors and open-source communities. PGAS models also take the form of meta-languages and libraries, such as Unified Parallel C++ (UPC++), Co-Array C++, OpenSHMEM, MPI-3 and Global Arrays. These have the benefit of being integrated with existing languages, simplifying the learning curve for existing programmers. The increasing availability of PGAS compilers and support software opens up more opportunities than ever for researchers and developers to test new strategies and port applications to more demanding requirements. SCOPE AND AIMS The scope of the PAW workshop is to provide a forum for exhibiting case studies of PGAS programming models in the context of real-world applications as a means of better understanding practical applications of PGAS technologies. We encourage the submission of papers and talks detailing practical PGAS applications, including characterizations of scalability and performance, of expressiveness and programmability, as well as any downsides or areas for improvement in existing PGAS models. In addition to informing other application programmers about the potential that is available through PGAS programming, the workshop is designed to communicate these experiences to compiler vendors, library developers, and system architects in order to achieve broader support for PGAS programming across the community. TOPICS Topics include, but are not limited to: * Novel application development using the PGAS model * Real-world examples demonstrating performance, compiler optimization, error checking, and reduced software complexity. * Performance evaluation of applications running under PGAS * Algorithmic models enabled by PGAS model * Compiler and runtime environments * Libraries using/supporting PGAS and applications * Benefits of hardware abstraction and data locality on algorithm implementation. DATES * Submission Deadline: July 31, 2016 * Author Notification: September 1, 2016 * Camera Ready: October 1, 2016 * Workshop Date: November 14, 2016 SUBMISSION Submissions are solicited in two categories: * Full-length papers presenting novel research results: Full-length papers will be published in the workshop proceedings in cooperation with SIGHPC. Submitted papers must be original work that has not appeared in and is not under consideration for another conference or a journal. Papers shall not exceed eight (8) pages including text, appendices, and figures. References are not included. * Extended abstracts summarizing published/preliminary results: Extended abstracts will be evaluated separately and are not intended to prevent the work from being submitted to other forums for publication. Extended abstracts shall not exceed four (4) pages. Submissions shall be submitted through EasyChair (https://easychair.org/conferences/?conf=paw16); they must conform to ACM Guidelines (https://www.acm.org/publications/proceedings-template). Accepted full-length papers will be given longer presentation slots at the workshop than the abstract-only option. WORKSHOP CHAIR * Karla Morris - Sandia National Laboratory ORGANIZING COMMITTEE * Bradford L. Chamberlain - Cray Inc. * Salvatore Filippone - Cranfield University * Bill Long - Cray Inc. * Katherine A. Yelick - Lawrence Berkeley National Laboratory * Yili Zheng - Lawrence Berkeley National Laboratory PROGRAM COMMITTEE CHAIR * Bill Long - Cray Inc. PROGRAM COMMITTEE CO-CHAIR * Salvatore Filippone - Cranfield University PROGRAM COMMITTEE * Gheorghe Almasi - IBM * Bradford L. Chamberlain - Cray Inc. * Daniel Chavarria - Pacific Northwest National Laboratory * Bert de Jong - Lawrence Berkeley National Laboratory * Salvatore Filippone - Cranfield University * Tarek El-Ghazawi - George Washington University * David Grove - IBM * Jeff Hammond - Intel * Oscar Hernandez - Oak Ridge National Laboratory * Amir Kamil - University of Michigan * John Mellor-Crummey - Rice University * Karla Morris - Sandia National Laboratory * Nick Park - DoD * Damian W. I. Rouson - Sourcery Institute * Lauren Smith - DoD * Katherine A. Yelick - Lawrence Berkeley National Laboratory * Yili Zheng - Lawrence Berkeley National Laboratory In case of questions please email us at: pa...@cr... ------------------------------------------------------------------------------ Mobile security can be enabling, not merely restricting. Employees who bring their own devices (BYOD) to work are irked by the imposition of MDM restrictions. Mobile Device Manager Plus allows you to control only the apps on BYO-devices by containerizing them, leaving personal data untouched! https://ad.doubleclick.net/ddm/clk/304595813;131938128;j _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2016-04-07 20:37:28
|
Dear Chapel community -- Cray Inc. and the Chapel open-source community are pleased to announce the release of version 1.13.0 of Chapel. This release's highlights include: * Dramatic improvements to Chapel's support for strings, including significant performance improvements for string computations, the introduction of standard library routines for strings, and the plugging of longstanding compiler-introduced memory leaks. For documentation on the new string library, please see: http://chapel.cray.com/docs/1.13/modules/internal/String.html * Significant improvements to, and reorganization of, Chapel's online documentation, including web-based versions of the 'chpl' and 'chpldoc' man pages. See: http://chapel.cray.com/docs/1.13 * Extensions to the standard library to include a new 'Reflection' module for reasoning about Chapel code; a new Jama-based library for linear algebra; a revamped 'Random' module that includes support for PCG-based RNG and an expanded API; and some new capabilities in the 'HDFS', 'FileSystem', and 'Path' libraries. For details, see: http://chapel.cray.com/docs/1.13/modules/modules.html * A change in Chapel's default allocator to 'jemalloc', resulting in significant performance improvements for memory-intensive programs and permitting us to retire our traditional support for 'tcmalloc' and 'dlmalloc'. * A significant expansion of the 'use' statement's capabilities to support symbol filtering and renaming, as well as the 'use' of enumerated types to avoid being required to enter fully-qualified names. * Chapel ports of the ISx and LCALS proxy applications, which have been added to the examples/benchmarks/ directory. * For users of the Cray module, this release includes significant improvements to the 'ugni' communication layer which has resulted in 2x performance improvements in some cases. The Cray module also includes initial support for running Chapel programs on Intel's next-generation Intel® Xeon Phi™ product family of processors, codenamed Knights Landing (KNL). * Numerous other improvements to error messages, performance, language features, and much more! To see a far more complete enumeration of changes in version 1.13.0, refer to the list at the end of this message, or to CHANGES.md within the release or online: https://raw.githubusercontent.com/chapel-lang/chapel/release/1.13/CHANGES.md Contributors to this release include: Ben Albrecht, Cray Inc. Kyle Brady, Cray Inc. Paul Cassella, Cray Inc. Brad Chamberlain, Cray Inc. Sung-Eun Choi, Cray Inc. Lydia Duncan, Cray Inc. Michael Ferguson, Cray Inc. Ben Harshbarger, Cray Inc. David Iten, Cray Inc. Przemysław Leśniak, individual contributor Vassily Litvinov, Cray Inc. Tom MacDonald, Cray Inc. Phil Nelson, Western Washington University / Cray Inc. Michael Noakes, Cray Inc. Joshua Olson, individual contributor Nicholas Park, DOD Elliot Ronaghan, Cray Inc. Kushal Singh, individual contributor George Stelle, Sandia National Laboratories Chris Taylor, DOD Akash Thorat, individual contributor Greg Titus, Cray Inc. Tony Wallace, Cray Inc. To download and install the release, see: http://chapel.cray.com/download.html 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 or Twitter user, or would simply enjoy stalking us online, check our project's social media pages for a steady stream of informal posts about the project and language: https://www.facebook.com/ChapelLanguage https://twitter.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.13.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.13.0 ======================================= Sixteenth public release of Chapel, April 7, 2016 Highlights ---------- * string improvements: - dramatically improved string performance and reduced memory leaks - added standard library routines on strings (see http://chapel.cray.com/docs/1.13/modules/internal/String.html) * language feature highlights: - added support for filtering and renaming symbols with the 'use' statement (see 'The Use Statement' in the Chapel language specification) - added support for min/max reduce intents and reduce intents on coforalls (see http://chapel.cray.com/docs/1.13/technotes/reduceIntents.html) - significantly improved memory management and reduced leaks for record types - added support for creating subclasses of generic classes - replaced 'locale.numCores' with a richer 'locale.numPUs()' interface (see http://chapel.cray.com/docs/1.13/modules/internal/ChapelLocale.html) - added the ability to 'use' an enumerated type to avoid qualifying names (see 'The Use Statement' in the Chapel language specification) - added support for casting types to strings and deprecated typeToString() (see 'Explicit Type to String Conversions' in the Chapel language spec) * standard library highlights: - added a new 'Reflection' module to support reasoning about code (see http://chapel.cray.com/docs/1.13/modules/standard/Reflection.html) - added a new JAMA-based Linear Algebra matrix package (see modules/packages/LinearAlgebraJama.chpl) - added a new PCG-based random number generator to 'Random' as the default (see http://chapel.cray.com/docs/1.13/modules/standard/Random.html) - extended the 'HDFS' module to support libhdfs3 (see http://chapel.cray.com/docs/1.13/technotes/auxIO.html) - added additional routines to the 'FileSystem' and 'Path' modules (see http://chapel.cray.com/docs/1.13/modules/standard/FileSystem.html and http://chapel.cray.com/docs/1.13/modules/standard/Path.html) * implementation improvement highlights: - made Chapel's default allocator 'jemalloc', resulting in better performance (see http://chapel.cray.com/docs/1.13/usingchapel/chplenv.html#chpl-mem) - 'complex' types are now code generated as C99 complex rather than a record - added compiler flags for all of the traditional CHPL_* environment vars. (see 'Compiler Configuration Options' in 'chpl --help' or the man page) * added initial support for Intel Xeon Phi Knights Landing (KNL) processors (see http://chapel.cray.com/docs/1.13/platforms/knl.html) * added new Chapel ports of the ISx and LCALS proxy applications to the release (see examples/benchmarks/isx and examples/benchmarks/lcals/) * documentation highlights: - dramatically improved the organization of the online Chapel documentation (see http://chapel.cray.com/docs/1.13/) - created web-based versions of the 'chpl' and 'chpldoc' man pages (see http://chapel.cray.com/docs/1.13/usingchapel/man.html and http://chapel.cray.com/docs/1.13/tools/chpldoc/man.html) * performance improvement highlights: - made significant performance improvements for common use cases of 'reduce' - implemented amortized reallocation when resizing arrays due to vector ops - made significant performance improvements for 'ugni' communication on Crays - broadened the applicability of the bulk communication optimization - significantly improved the performance resulting from the LLVM back-end * additional highlights: - renamed the 'etc/' directory 'highlight/' to better identify its contents (see highlight/README) - made Chapel's scripts compatible with key versions of Python 2 and 3 - unified the support of third-party packages and runtime options on Crays (see http://chapel.cray.com/docs/1.13/platforms/cray.html) - numerous error message improvements, bug fixes, feature improvements, ... Configuration Changes --------------------- * made 'jemalloc' the default allocator for most configurations (see http://chapel.cray.com/docs/1.13/usingchapel/chplenv.html#chpl-mem) * made 'cray-prgenv-cray' default to using 'qthreads'+'hwloc' and 'ugni' (see http://chapel.cray.com/docs/1.13/platforms/cray.html) * added support for 're2' when using Cray and PGI compilers * changed 'knc' to default to using 'qthreads'+'hwloc' * deprecated 'knc' support (see http://chapel.cray.com/docs/1.13/platforms/knc.html) * switched to using pg++ rather than pgCC as the C++ compiler for 'pgi' * removed stale support for Xcode Syntactic/Naming Changes ------------------------ * added new keywords, 'as', 'except', and 'only', for filtering 'use'd symbols (see 'The Use Statement' in the Chapel language specification) * replaced 'locale.numCores' with a richer interface 'locale.numPUs()' (see http://chapel.cray.com/docs/1.13/modules/internal/ChapelLocale.html) * removed the 'Writer' and 'Reader' types in favor of unifying on 'channel's Semantic Changes / Changes to Chapel Language --------------------------------------------- * added support for a 'const ref' return intent (see "The Const Ref Return Intent" in "Procedures" in the Chapel spec) * improved the handling of "return by ref" functions in setter/getter contexts (see 'http://chapel.cray.com/docs/1.13/language/evolution.html and 'The Ref Return Intent' under 'Procedures' in the language spec) * made default I/O routines ignore 'param' fields as they have 'type' fields * restricted 'sync'/'single' types to sufficiently simple types * removed support for performing Chapel I/O on 'c_string's * removed coercions from 'c_string's to 'string's New Features ------------ * added a standard library of routines on the 'string' type (see http://chapel.cray.com/docs/1.13/modules/internal/String.html) * added support for filtering on 'use' statements with 'only' and 'except' (e.g., 'use M only foo;' or '... except foo;' to restrict to / exclude 'foo') (see 'The Use Statement' in the Chapel language specification) * added support for renaming symbols made accessible by a 'use' (e.g., 'use M only foo as M_foo;' causes 'foo' to be referred to as 'M_foo') (see 'The Use Statement' in the Chapel language specification) * added the ability to 'use' an enumerated type (e.g., "...mycolor.green..." can now be written "use mycolor; ...green...") * added support for casting types to strings and deprecated typeToString() (e.g., 'writeln(x.type:string);' can be used to print the name of x's type) * added a capability to iterate over the fields in a class or record (see http://chapel.cray.com/docs/1.13/modules/standard/Reflection.html) * added the ability to query whether a call can be resolved or not (see http://chapel.cray.com/docs/1.13/modules/standard/Reflection.html) * added support for annotating an on-clause as being 'local' (see http://chapel.cray.com/docs/1.13/technotes/local.html) * added support for 'c_string' values (e.g., "this is a Chapel string" while c"this is a C string") Feature Improvements -------------------- * added support for creating subclasses of a generic class * added support for min/max reduce intents (see http://chapel.cray.com/docs/1.13/technotes/reduceIntents.html) * added support for reduce intents on coforall loops (see http://chapel.cray.com/docs/1.13/technotes/reduceIntents.html) * added the ability to pass sync/single variables via generic arguments * improved the type signatures of min()/max() to support better type resolution (see http://chapel.cray.com/docs/1.13/modules/internal/UtilMisc_forDocs.html) * extended comparison operators (==, !=, <=, etc.) to support mixed int/uints (see 'Expressions' in the Chapel language specification) * added support for range slicing between mixed int/uint idxTypes * added support for comparing between 'c_void_ptr' expressions and 'nil' * added support for implicitly coercing 'c_ptr' types to 'c_void_ptr' * added support for casting from fully-qualified enum strings to enum values (e.g., '"mycolor.green":mycolor' now works where it wouldn't have previously) * extended channel.readbits/writebits to accept other integral types (see http://chapel.cray.com/docs/1.13/modules/standard/IO.html) * added scalar versions of domain.exterior(), interior(), and translate() (see http://chapel.cray.com/docs/1.13/modules/internal/ChapelArray.html) Standard Library/Modules ------------------------ * started distinguishing between "standard Chapel modules" and "packages" (see http://chapel.cray.com/docs/1.13/modules/modules.html and http://chapel.cray.com/docs/1.13/modules/packages.html) * added a new JAMA-based linear algebra matrix package (see modules/packages/LinearAlgebraJama.chpl) * added a new PCG-based random number generator to 'Random' as the default (see http://chapel.cray.com/docs/1.13/modules/standard/Random/PCGRandom.html) * added a new 'Reflection' module supporting reflection about a program (see http://chapel.cray.com/docs/1.13/modules/standard/Reflection.html) * extended the 'HDFS' module to support libhdfs3 (http://chapel.cray.com/docs/1.13/technotes/auxIO.html) * added support for skipping unknown fields when reading JSON records/classes (see http://chapel.cray.com/docs/1.13/modules/standard/IO.html) * made the default I/O routines for records/classes support arbitrary orders * added 'basename', 'dirname', and 'splitPath' to the 'Path' module (see http://chapel.cray.com/docs/1.13/modules/standard/Path.html) * added rmTree(), moveDir() to the 'FileSystem' module (see http://chapel.cray.com/docs/1.13/modules/standard/FileSystem.html) * added an optional time units argument to 'sleep()' in the Time module (see http://chapel.cray.com/docs/1.13/modules/standard/Time.html#Time.sleep) * added support for sending signals to subprocesses for the 'Spawn' module (see http://chapel.cray.com/docs/1.13/modules/standard/Spawn.html) * added an optional 'buffer' boolean to the 'Spawn' module's wait() routine (see http://chapel.cray.com/docs/1.13/modules/standard/Spawn.html) * added an isclosed() method to the 'channel' type (see http://chapel.cray.com/docs/1.13/modules/standard/IO.html) * improved the 'List' module to support JSON format * improved error handling in the IO and Spawn modules * added the ability to call exit() without arguments for a 0 default status * removed deprecated functions from 'Memory' module Performance Improvements ------------------------ * obtained notable performance improvements from the switch to 'jemalloc' * made significant performance improvements to common uses of 'reduce' * implemented amortized reallocation when resizing arrays due to vector ops * made significant performance improvements for 'ugni' communication on Crays * made bulk data transfers more likely to fire by removing a conservative check * enabled bulk data transfers between portions of the same array * generally improved the performance of string-based computations * optimized iteration over anonymous range values of the form 'lo..#size' * improved the performance of code generated by the LLVM back-end Memory Improvements ------------------- * dramatically reduced the compiler-generated leaks due to strings and records * significantly improved construction/destruction/copy behavior for records * stopped heap-allocating variables referred to within 'begin' scopes * stopped heap-allocating variables referred to within non-blocking on-clauses * stopped heap-allocating index variables of coforall loops Documentation ------------- * dramatically improved the organization of the online Chapel documentation (see http://chapel.cray.com/docs/1.13/) * created web-based versions of the 'chpl' and 'chpldoc' man pages (see http://chapel.cray.com/docs/1.13/usingchapel/man.html and http://chapel.cray.com/docs/1.13/tools/chpldoc/man.html) * linked to the language specification and quick reference from the online docs (see http://chapel.cray.com/docs/1.13/language/spec.html and http://chapel.cray.com/docs/1.13/language/reference.html) * converted a number of top-level README-style files to markdown format (e.g., see $CHPL_HOME/CHANGES.md, CONTRIBUTORS.md, PERFORMANCE.md, ...) * moved the Chapel evolution page from chapel.cray.com to the online docs (see http://chapel.cray.com/docs/1.13/language/evolution.html) * split the top-level README.rst file into README.rst and QUICKSTART.rst * started writing a Chapel Users Guide, though much work remains (see http://chapel.cray.com/docs/1.13/users-guide/index.html) * improved the accuracy of Chapel's prerequisites list (see http://chapel.cray.com/docs/1.13/usingchapel/prereqs.html) * improved wordings and descriptions in the language specification * fixed many instances of broken links / formatting in online documentation Example Codes ------------- * added new Chapel ports of the ISx and LCALS proxy applications to the release (see examples/benchmarks/isx/ and examples/benchmarks/lcals/) * made correctness, performance, and style improvements to MiniMD in Chapel (see examples/benchmarks/miniMD/) * extended the linkedList example program to support additional methods (see examples/programs/linkedList.chpl) * fixed some typos and explanations in the primer examples (see examples/primers/*.chpl) * updated example tests to reflect the changes to the language and libraries * removed README.features from the examples subdirectory Compiler Flags (see 'man chpl' for details) ------------------------------------------- * added compiler flags for all of the traditional CHPL_* environment variables (see 'Compiler Configuration Options' in 'chpl's '--help' output or man page) * made the --ldflags stack when used multiple times, similar to --ccflags * made the --no-warnings flag reversible by changing it to --[no-]warnings Execution Flags --------------- * added support for specifying enum configs using fully-qualified names (e.g., '--myColor=color.red' is now supported where only '--myColor=red' was) Environment Changes ------------------- * the setchplenv[.bash|.fish|.sh] scripts can now be sourced from any directory * removed the CHPL_THREADS environment variable Directory Structure Changes --------------------------- * renamed the 'etc/' directory to 'highlight/' to better identify its contents * split 'modules/standard' into 'modules/standard' and 'modules/packages' Cray-specific Changes --------------------- * streamlined 'ugni' resource management, dramatically improving performance * hugepages are now optional with the 'ugni' communication layer (see http://chapel.cray.com/docs/1.13/platforms/cray.html) * improved the Spawn module to support 'ugni' when hugepages are not in use * started statically linking 'chpl' in the Cray module to ensure portability Portability Improvements ------------------------ * added initial support for Intel Xeon Phi Knights Landing (KNL) processors (see http://chapel.cray.com/docs/1.13/platforms/knl.html) * made Chapel's scripts compatible with key versions of Python 2 and 3 * improved the portability of the code base to gcc 5.1 * improved the portability of the code base to newer versions of Cygwin Tool Changes ------------ * 'chpldoc' improvements: - made modules automatically list any submodules that they contain - it now generates a doc page per module rather than .chpl source file - it now only documents files listed on its command line by default - added a --[no-]html option to opt in/out of the rst->html phase * added basic support for folding for 'vim' users * added an option to disable chplvis tracing for a given run in 'VisualDebug' * improved 'chpltags' support for older versions of 'ctags' Error Message Improvements -------------------------- * improved 'const' checking for domains and arrays * added an error message for variable declarations over incomplete generics * stopped warning about reductions being serialized -- that's completely legal * added an error message for non-extern functions with no-op bodies * reduced the degree to which internal module line numbers are named in errors * implemented an error message for strings containing bad escape sequences * improved the error message for bad CHPL_RT_NUM_THREADS_PER_LOCALE values * improved error messages for illegal/incorrect 'use' statements * added an error message for references to fields within 'with' clauses * added an error message for 'real*2' suggesting the user wants '2*real' Bug Fixes --------- * fixed a bug in applying reduce intents to forall loops over ranges * fixed a bug in zippered iteration over equivalent associative domains/arrays * fixed the ability to declare a 'ref' to a domain or array * fixed a bug in which overridden/overloaded methods were not resolved properly * fixed a bug in assigning between distributed domains and non- with arrays * fixed a bug in the computation of 'maxTaskPar' for the numa locale model * fixed a bug in which generic types were not printed properly * fixed a bug in which assignment between generic records did not work properly * fixed a bug in which extern type declarations in generic procedures broke * fixed a bug with isHomogeneousTuple*() queries when passed non-tuples * fixed a bug with self-references in module use lists * fixed a bug when calling exit() without arguments * fixed the runtime sizes of boolean literals of varying bit widths * fixed a bug w.r.t. reduce intents interacting poorly with on-clauses * fixed a bug in which returning tuples of arrays did not work * fixed a bug in the initialization of nearly-maximally-sized arrays * fixed a bug in the Block and Cyclic parallel iterators for arrays of arrays * fixed a bug in which subtype checking now handles transitive instantiation * fixed bugs in default I/O routines for subclasses * fixed a few bugs in the Spawn module's communicate() routine * made some improvements to the Spawn module relative to QIO * made some I/O functions more tolerant of EINTR * fixed some bugs in which I/O routines executed on the wrong locale * fixed a bug in formatted reads of digits * fixed a bug preventing channel.itemWriter() from working * improved the handling of C escapes in string literals * fixed the handling of escape characters in compilerWarning()/compilerError() * fixed a bug related to nested modules sharing a name, each defining main() * fixed a bug in which Qthreads tasks weren't allocating sufficient storage * fixed the line numbers reported for standalone iterators * fixed a bug in which record fields were not properly widened * fixed a bug in which records could be double-freed for out/inout arg passing * fixed a bug in 'chpldoc' in the handling of multiline mid-variable comments * fixed a bug in which failure to open files for codegen caused internal errors * made the compiler resilient to usernames containing backslashes * fixed a bug in the checking of definitions made in SysCTypes * fixed the chpl-venv path to be based on the host platform rather than target * fixed line numbers related to domain query expressions in formal arguments * fixed a bug in which sleep() could result in tasks awakening prematurely Cray-specific Bug Fixes ----------------------- * 'ugni' now supports communication to/from any unregistered address * resolved a rare program hang in 'ugni' communication * fix 'ugni' memory mis-registration under CLE 6.* * plug a memory leak in 'ugni' for certain remote on-statements Third-Party Software Changes ---------------------------- * turned on optimizations when compiling 're2' for optimized builds * enabled 're2' when using Cray and PGI compilers * added jemalloc version 4.0.4 and retired tcmalloc and dlmalloc * upgraded GASNet to version 1.26.0 * upgraded hwloc to version 1.11.2 - and cherry-picked a /proc/mounts buffer overflow fix from hwloc master * upgraded LLVM to version 3.7 * switched several third-party directories to a more GIT-friendly organization Runtime Library Changes ----------------------- * updated the names of several runtime communication interface routines Generated Code Cleanups ----------------------- * started code-generating 'complex' types as C99 complexes rather than a record * filenames are now represented a table + indices rather than string literals Testing System -------------- * added support for many files, such as compopts, to be executable scripts * added .compenv files as a means of changing the compiler environment * made 'make check' clean up after itself better * made the test system no longer mail out the list of unresolved future tests * parallel testing now ignores symbolic links to avoid infinite loops * made the test system deal better with unexpected failures * improved start_test's error message if CHPL_HOME is not set Makefile Changes ---------------- * added an "always build chpldoc" capability via CHPL_ALWAYS_BUILD_CHPLDOC * only generate 'tags' commands when CHPL_DEVELOPER or TAGS is set at make-time * improved the logic for updating/re-building the 'chpl' version number Developer-oriented changes: Process Improvements ------------------------------------------------ * changed the generation of the man page from txt2man into an rst-based scheme * added a 'make check' option for Sphinx documentation to check for errors Developer-oriented changes: Packaging Changes --------------------------------------------- * reorganized files to better support packaging of Chapel * began differentiating runtime launcher paths based on CHPL_COMM * no longer specialize runtime library directories on CHPL_NETWORK_ATOMICS Developer-oriented changes: Module improvements ----------------------------------------------- * made use of 'local' on-clauses within internal modules targeting 'numa' * changed a "c for loop" in DefaultRectangular into a direct range iterator * refactored generation of unbounded range values * changed some uses of c_calloc() to c_malloc() * improved the extern declarations of the locale model chpl_mem* routines * retired the ChapelLocale_forDocs.chpl workaround for documentation Developer-oriented changes: Compiler Flags ------------------------------------------ * added --break-on-codegen-id to stop when a specific ID is code generated Developer-oriented changes: Compiler improvements/changes --------------------------------------------------------- * introduced a new 'UseStmt' AST node for representing 'use' statements * made all non-'flat' locale models outline on-clauses and use wide pointers * removed the pragma form of 'export' * added support for operator overloads on the bitVec type * reworked how argument bundles are managed for begin- and on-functions * changed wide_get_address mechanisms to return a 64-bit uint * refactored duplicate code in buildForLoopExpr * made addArgCoercion() sensitive to errors * improve the compiler's handling of PRIM_ASSIGN * improved the compiler's handling of POD types * improved the compiler's handling of declared return types * made the compiler remove casts from 'ref T' to 'T' * unified the handling of 'by' and 'align' in the parser * improved the handling of string varargs with default intent * improved the normalization of initialization expressions * added support for tracking the causes of wide pointers * refactored the implementation of some reductions to use reduce intents * removed the FLAG_FUNCTION_PROTOTYPE flag as not being interesting or useful Developer-oriented changes: Generated code improvements ------------------------------------------------------- * improved the representation of unions in the generated code Developer-oriented changes: Runtime improvements ------------------------------------------------ * moved the Qthreads tasking shim into the Chapel runtime/ directory * changed the communication interface to take sizes rather than elemsize+length * fixed problems with GETs to unregistered remote memory * simplified the interfaces for creating structured parallelism within Chapel * removed deprecated code supporting Tilera processors * extensively reworked debug support in 'ugni' Developer-oriented changes: Third-party improvements ---------------------------------------------------- * disabled OpenCL support in hwloc for the time being * disabled libnuma in hwloc builds Developer-oriented changes: Testing system improvements ------------------------------------------------------- * added a script to help maintain .dat files when perfkeys change (see util/devel/updateDatFiles.py) * renamed 'grepgoods' to 'greptestoutputs' and had it span .good and .bad files |
From: Brad C. <br...@cr...> - 2016-03-22 23:14:22
|
Hi Chapel Community -- A few quick updates: CHIUW 2016 ---------- The program for CHIUW 2016 -- the 3rd Annual Chapel Implementers and Users Workshop -- is now available online: http://chapel.cray.com/CHIUW2016.html This year's program spans 13 organizations and features 4 research papers, 10 short talks, and a keynote by Nikhil Padmanabhan (astrophysics professor, Yale University). In addition, we'll hold our annual "state of the project" report, community discussion session, and a code camp opportunity on day two. CHIUW 2016 will be held May 27-28 in Chicago as part of IPDPS 2016. Early registration closes March 27th, so register this week to save some money! Chapel Twitter Feed ------------------- We recently kicked off a Twitter feed to complement our Facebook page. If you're a Twitter or Facebook user, these are great ways to keep up with the project on a regular basis as we continue to try to keep this chapel-announce mailing list limited to a small number of mails per year to spare your inbox. Chapel on Twitter: https://twitter.com/ChapelLanguage Chapel on Facebook: https://www.facebook.com/ChapelLanguage #chapel IRC channel ------------------- We've also recently launched a #chapel IRC channel hosted at chat.freenode.net to complement the #chapel-developers channel that has been hosted there for some time now. The #chapel channel is designed for lightweight Q&A among the Chapel community, focused particularly on issues of using the language and compiler. Meanwhile #chapel-developers continues to be focused primarily on discussion about the development of Chapel. To join either, point your favorite IRC app to #chapel or #chapel-developers at chat.freenode.net. (Given the lossy nature of chatrooms, note that if you have a question for which a response is important, the standard Chapel contact and community mailing lists continue to be your best option). Google Summer of Code --------------------- Finally, a quick reminder that Google Summer of Code applications are due this Friday and that Chapel is a participating organization this year: https://summerofcode.withgoogle.com/organizations/6608321708556288/ Best wishes, -Brad Chamberlain (on behalf of the Chapel team) ------------------------------------------------------------------------------ Transform Data into Opportunity. Accelerate data analysis in your applications with Intel Data Analytics Acceleration Library. Click to learn more. http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140 _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2016-03-03 17:34:01
|
Hi Chapel Community -- We're thrilled to announce that Chapel has been accepted as a Google Summer of Code organization for 2016! If you know of qualified programmers who are interested in taking on a Google Summer of Code project working on Chapel this summer, please encourage them to apply. The application period is March 14-25. General Google Summer of Code information: https://summerofcode.withgoogle.com/ Chapel-specific page: https://summerofcode.withgoogle.com/organizations/6608321708556288/ Other organizations: https://summerofcode.withgoogle.com/organizations/ Best wishes, -Brad PS -- The announcement of the CHIUW 2016 program will be coming soon... ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2016-02-18 19:58:55
|
Hi Chapel Community -- As a quick reminder, submissions for CHIUW 2016 talks are due tomorrow (AoE). On the EasyChair submission website, upload the PDF for your extended abstract where it asks for the paper upload (i.e., for this stage of submissions, the paper is considered to be the document containing the extended abstract). Whether or not you paste all or part of the abstract into the abstract text entry box is up to you -- the PDF is what we'll be reviewing. Thanks, -Brad ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2016-02-12 19:32:31
|
Hi Chapel Community -- This is a quick reminder that the deadline for talk-only submissions to CHIUW 2016 (the 3rd annual Chapel Implementers and Users Workshop, to be held in conjunction with IPDPS 2016) is a week from today on Friday, February 19th. Due to the low bar for talk-only submissions (a 1-page extended abstract), we do not currently anticipate extending the deadline (though you can always ask). For more information on CHIUW, please refer to: http://chapel.cray.com/CHIUW2016-cfp.html Also, I wanted to mention that there are a few Chapel-related internships available this summer at Cray Inc. and AMD. If you or a friend or student are interested in such opportunities, please refer to: http://chapel.cray.com/jobs.html Thanks, and have a good weekend, -Brad Chamberlain (on behalf of the Chapel project) ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2016-01-14 15:41:45
|
Hi Chapel community -- Following up on Monday's mail: At the request of a few authors, we are extending the CHIUW 2016 paper submission deadline by one week, making papers now due Friday, January 22nd. There won't be any further extensions in order to reserve enough time to review the papers. -Brad (on behalf of the PC) ---------- Forwarded message ---------- Date: Mon, 11 Jan 2016 10:51:47 -0800 (PST) From: Brad Chamberlain <br...@cr...> To: Chapel Announcements <cha...@li...> Subject: Reminder: CHIUW paper submissions due Friday Hi Chapel community -- This is a quick reminder that the paper submission deadline for CHIUW 2016 --- the 3rd annual Chapel Implementers and Users Workshop --- is this Friday, January 15th. For more information about CHIUW and the submission process, please refer to the Call for Participation website: http://chapel.cray.com/CHIUW2016-cfp.html Also, keep in mind that there is a second deadline on Feb 19th to submit talks without papers (accepted papers will be collected in the IPDPS workshop proceedings and be given a longer talk slot). -Brad Chamberlain (on behalf of the CHIUW 2016 PC) ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2016-01-11 18:52:07
|
Hi Chapel community -- This is a quick reminder that the paper submission deadline for CHIUW 2016 --- the 3rd annual Chapel Implementers and Users Workshop --- is this Friday, January 15th. For more information about CHIUW and the submission process, please refer to the Call for Participation website: http://chapel.cray.com/CHIUW2016-cfp.html Also, keep in mind that there is a second deadline on Feb 19th to submit talks without papers (accepted papers will be collected in the IPDPS workshop proceedings and be given a longer talk slot). -Brad Chamberlain (on behalf of the CHIUW 2016 PC) ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2015-12-17 23:47:48
|
Hi Chapel Community -- This is a quick reminder that submissions to CHIUW 2016 (the 3rd annual Chapel Implementers and Users Workshop) are due early in 2016. So, as you think about the new year, consider whether you have Chapel-related work or ideas that you would like to submit for presentation at CHIUW (to be held May 27th as a workshop at IPDPS 2016). This year we will have two submission tracks, each with its own schedule: * full-length papers that will be published as part of the IPDPS 2016 workshop proceedings and awarded a longer talk slot. Paper submissions are due January 15th in order to ensure that we meet the IPDPS camera-ready deadlines. * proposed talks with 1-page extended abstracts but no accompanying paper. Extended abstract submissions are due February 19th. For more details and the complete CHIUW 2016 Call for Participation, please refer to: http://chapel.cray.com/CHIUW2016-cfp.html Please feel encouraged to circulate this call for participation to your respective organizations and communities as appropriate. Best wishes for the remainder of 2016, -Brad Chamberlain (on behalf of the Chapel team at Cray and the CHIUW 2016 committee) ------------------------------------------------------------------------------ _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2015-11-12 18:43:30
|
Dear Chapel Community -- For those of you who will be at SC15 next week (or have colleagues who will be), I wanted to take a moment to plug a few Chapel-related activities that will be taking place. All of these are also listed on the web at: http://chapel.cray.com/SC15.html * Chapel Tutorial: On Sunday afternoon, we will be offering a Chapel tutorial. This year's offering will build on last year's example-driven format, though we've also shuffled things around a bit in order to fit in a hands-on session as well. * Workshop Talk: Sunday morning at the LLVM-HPC workshop, Akahiro Hiyashi (Rice University) will kick off the research paper session by describing some collaborative work that's taken place between Rice and Cray to perform communication optimizations for Chapel (and other PGAS languages) in LLVM. * Tasking BoF: On Wednesday afternoon, Michael Ferguson (Cray Inc.) will be participating in a BoF organized by Argonne National Labs exploring the concept of a community standard for lightweight tasks and threads. Michael will be representing the Chapel runtime's tasking needs as part of this session. * On Wednesday evening just after the BoF, we'll be holding our annual CHUG (Chapel Users Group) happy hour at The Bonneville. Please join us if you're able! * In addition to the organized events above, members of the Chapel team will be available in the Cray booth in the late afternoon Tuesday and Wednesday for informal discussion and questions. * Also, throughout the week, stop by the PGAS booth in order to pick up this year's Chapel giveaway: Chapel fortune cookies! Again, for further details on any of these items, please refer to http://chapel.cray.com/SC15.html. And if you are aware of any other Chapel-related SC15 events that we've overlooked, please let us know. We hope to see and meet many of you at the show! -Brad Chamberlain (on behalf of the Cray Chapel team) ------------------------------------------------------------------------------ _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2015-10-14 15:14:02
|
Hi Chapel Community -- For those interested in participating in or following the Chapel AMA session today, the thread is now live at the following URLs: https://redd.it/3oqa1v https://www.reddit.com/r/ProgrammingLanguages/comments/3oqa1v/ama_were_the_development_team_for_the_chapel/ Hope to see some of you there, -Brad Chamberlain (on behalf of the Chapel team at Cray) ------------------------------------------------------------------------------ _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Greg K. <gkr...@pr...> - 2015-10-05 14:05:02
|
Hello, You'll find a revised version of Chapel By Example on its web page at http://primordand.com/chapel_by_ex The text and example programs have been brought up to date with the 1.12 (October 2015) release, and there's a new section on debugging. We've also made another editing pass to fix typos and improve the language. Chapel by Example, Image Processing is meant to be an introduction to the language using complete image processing programs. It grew out of the notes we took while learning Chapel and covers much of the core language (the biggest parts missing are domain maps/locales and I/O). We chose the examples to grow in complexity: colorspace conversion, convolutions, color quantization with k-means clustering, corner detection, and aligning two images of the same scene. We cover the Chapel primitive and structural types, linkage to external C libraries, modules, arrays/domains/ranges, data and task parallelism, iterators, and generics. There are a few versions of each program as we tried different aspects of Chapel. The starting page (http://www.primordand.com/chapel_by_ex) has links to on-line versions of each section, as well as PDF copies. You'll also find all source code for the examples and programs there. If you have any comments or feedback about the text, we would appreciate hearing them. Please use cha...@pr... Thanks for your attention! Greg K. |
From: Brad C. <br...@cr...> - 2015-10-02 00:42:19
|
Dear Chapel community -- Cray Inc. and the Chapel open-source community are pleased to announce the release of version 1.12.0 of Chapel. This release's highlights include: * A significant expansion to our online documentation. As part of this effort, we've reflected the major READMEs from the release itself onto the Chapel website for the first time. We've also expanded the web-based library documentation to include many built-in types and functions as well as standard distributions and layouts. You can find all of this documentation online at: http://chapel.cray.com/docs/latest/ * New modules have been added to the standard library supporting inter-task barrier synchronization ('Barrier'), dynamic subprocess spawning ('Spawn'), and a Chapel interface to LAPACK ('LAPACK'). Further details about these modules can be found in the online documentation for standard modules: http://chapel.cray.com/docs/latest/modules/modules.html * We've added a new tool, 'chplvis', developed by Phil Nelson of Western Washington University. 'chplvis' is useful for visualizing inter-locale communication and intra-locale tasking within the execution of a Chapel program. For online documentation including screenshots, refer to: http://chapel.cray.com/docs/latest/tools/chplvis/index.html * This release includes a number of locality-oriented performance optimizations, focusing both on reducing inter-locale overheads and improving first-touch NUMA effects within a locale. As a result of these changes, the Chapel version of HPCC Stream-EP in the release (examples/benchmarks/hpcc/stream-ep.chpl) has been significantly simplified while resulting in performance that matches or beats that of previous releases, typically competing with hand-generated MPI+OpenMP versions. * A new iterator, 'vectorizeOnly()' has been added to specify parallel loops for which no dynamic tasking should be used, only vector-level parallelism (when possible): http://chapel.cray.com/docs/latest/modules/internal/ChapelIteratorSupport.html * For users of the Chapel module on Cray systems, we've switched the default tasking layer from 'muxed' to 'qthreads' which should result in a performance boost for most codes. * The language and compiler have been extended to support methods and iterators on types (as opposed to variables of a given type). Chapel also now supports the declaration of 'private' (or 'public') module-level variables, functions, and sub-modules for improved namespace protection. In addition, where a domain specifier in a formal array's type previously indicated an automatic reindexing of the actual array argument, it is now treated as a constraint on the actual argument's domain. See the language specification for further details on these features. * Based on feedback from users, internal errors now result in a friendlier (and more apologetic) error message including a best guess as to the source line where the error occurred and a pointer to how a bug can be filed against the issue. * The "Memory Consistency Model" chapter of the language specification has been dramatically revised to better describe our vision of Chapel's memory consistency model. In addition, the specification has been significantly trimmed down by moving documentation of standard libraries and domain maps into the online documentation, as noted above. * We've added a "Chapel Improvement Proposal" (CHIP) framework for proposing changes to the language or implementation. For more details, refer to: https://github.com/chapel-lang/chapel/blob/master/doc/chips/1.rst * This release contains the largest number of bug fixes in a Chapel release since version 1.1. Notable examples include: - improvements to invoking standalone iterators for 'forall' loops - fixing the generality of the reduce intents introduced in version 1.11 - fixing long-standing scope resolution shadowing errors - and several other bugs submitted by users since version 1.11 was released For a complete list, refer to "Bug Fixes" below. * Numerous other documentation, portability, performance, and correctness issues. ...and much more! To see a more complete enumeration of changes in version 1.12.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: Ben Albrecht, Cray Inc. Ian Bertolacci, Cray Inc./Colorado State University 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. Tom MacDonald, Cray Inc. Cory McCartan, Cray Inc. Damian McGuckin, Pacific Engineering Systems International Phil Nelson, Western Washington University/Cray Inc. Michael Noakes, Cray Inc. Konstantina Panagiotopoulou, individual contributor Elliot Ronaghan, Cray Inc. Greg Titus, Cray Inc. Thomas Van Doren, Cray Inc. To download and install the release, see: http://chapel.cray.com/download.html 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 enjoy stalking 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.12.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.12.0 ======================================= Fifteenth public release of Chapel, October 1, 2015 Highlights ---------- * significantly expanded the coverage of our online documentation (see http://chapel.cray.com/docs/1.12/ and "Documentation" below) * added new 'Barrier', 'Spawn', and 'LAPACK' modules to the standard set (see "Standard Library/Modules" section below) * added chplvis: a new tool for visualizing Chapel communication and concurrency (see http://chapel.cray.com/docs/1.12/tools/chplvis/index.html) * added a new chapter describing Chapel's memory consistency model in detail (see 'Memory Consistency Model' in the language spec) * added a 'vectorizeOnly()' iterator that vectorizes without task creation (http://chapel.cray.com/docs/1.12/modules/internal/ChapelIteratorSupport.html) * new performance optimizations, particularly intra- and inter-node locality (see "Performance Improvements" section below) * removed the 'local' block from stream-ep based on the above optimizations (see examples/benchmarks/hpcc/stream-ep.chpl) * changed the default tasking layer on 'cray-x*' to 'qthreads' for performance * added support for type methods and iterators (see 'Classes::Class Method Calls::The Method Receiver and the this Argument') * added support for public/private module-level variables, functions, modules) (see 'Modules:Access of Module Contents::Visibility of Module's Symbols') * domains in formal array arguments are now interpreted as a constraint (see 'Arrays::Array Arguments to Functions' in the language spec) * significantly revamped and improved correctness and performance testing system * improved how internal error messages are displayed to users * added Chapel Improvement Proposals (CHIPs) framework for proposing changes (see https://github.com/chapel-lang/chapel/blob/master/doc/chips/1.rst) * made more bug fixes than any release since version 1.1 (see "Bug Fixes" section below) * addressed portability issues for a number of platforms and compilers Process Improvements -------------------- * added Chapel Improvement Proposals (CHIPs) framework for proposed changes (see https://github.com/chapel-lang/chapel/blob/master/doc/chips/1.rst) Environment/Configuration Changes --------------------------------- * 'printchplenv' now indicates which settings come from environment variables * made the quickstart scripts turn CHPL_LLVM off by default * removed dependencies on 'bc' and 'patch' Tool Changes ------------ * added chplvis: a new tool for visualizing Chapel communication and concurrency (see http://chapel.cray.com/docs/1.12/tools/chplvis/index.html) * chpldoc improvements: - improved handling of enum, real, imag, and complex initializers - 'chpldoc' now generates values for enum symbols - automatically skip documentation of 'private' symbols - squashed generation of 'inline' in output - added support for --print-commands with chpldoc * chpl-ipe: - added a quit() primitive for clean exits from the environment Syntactic/Naming Changes ------------------------ * changed 'use' to 'require' for header files and external libraries (see http://chapel.cray.com/docs/1.12/technotes/extern.html) * replaced the standalone format() routine, with string.format() (http://chapel.cray.com/docs/1.12/modules/standard/IO.html#IO.string.format) * renamed memory diagnostics capabilities for clarity (see http://chapel.cray.com/docs/1.12/modules/standard/Memory.html) * changed the '##.##' writef() pattern so that it requires '%{...}' around it (see http://chapel.cray.com/docs/1.12/modules/standard/IO.html#specifiers) * added support for form-feed characters ('\f') as whitespace (see 'Lexical Structure::White Space' in the language specification) * changed the term 'blank intent' to 'default intent' (see 'Functions::Argument Intents::Abstract Intents::The Default Intent') Semantic Changes / Changes to Chapel Language --------------------------------------------- * domains in formal array arguments are now interpreted as a constraint (see 'Arrays::Array Arguments to Functions' in the language spec) * Chapel no longer keeps referenced variables alive past their lexical scope * c_strings are no longer made into strings when passed to generic extern args * 'select' statements now only evaluate their argument expression once New Features ------------ * added a 'vectorizeOnly()' iterator that vectorizes without using multitasking (http://chapel.cray.com/docs/1.12/modules/internal/ChapelIteratorSupport.html) * added support for type methods and iterators (see 'Classes::Class Method Calls::The Method Receiver and the this Argument') * added support for public/private module-level variables, functions, modules) (see 'Modules:Access of Module Contents::Visibility of Module's Symbols') * added support for methods on enumerated types (e.g., 'enum color {red};' permits 'proc color.foo() { ... } color.red.foo();') * added support for hexadecimal floating point literals (see 'Lexical Structure::Tokens::Literals' in the language specification) * added the ability to rename extern records for use within Chapel (see 'Interoperation::...::Shared Types::Referring to External C Structs') * added support for -lchplmalloc for compilers supporting weak symbols (see http://chapel.cray.com/docs/1.12/technotes/allocators.html)) * added the ability to use 'continue' statements in 'param' for-loops * added support for == and != operators on domain maps Standard Library/Modules ------------------------ * added a new 'Barrier' module defining a simple collective barrier capability (see http://chapel.cray.com/docs/1.12/modules/standard/Barrier.html) * added a new 'Spawn' module for creating new subprocesses (see http://chapel.cray.com/docs/1.12/modules/standard/Spawn.html) * added a new 'LAPACK' module that provides an interface to LAPACK (see http://chapel.cray.com/docs/1.12/modules/standard/LAPACK.html) * added support for common mathematical constants to 'Math.chpl' (see http://chapel.cray.com/docs/1.12/modules/standard/Math.html#Math.e) * replaced standalone format() routine with string.format() in 'IO' (http://chapel.cray.com/docs/1.12/modules/standard/IO.html#IO.string.format) * unified string.format() format strings with writef() (http://chapel.cray.com/docs/1.12/modules/standard/IO.html#formatted-i-o) * added a getFileSize() routine to the 'FileSystem' module (see http://chapel.cray.com/docs/1.12/modules/standard/FileSystem.html) * merged the contents of the 'UtilMath' module into 'Math' (see http://chapel.cray.com/docs/1.12/modules/standard/Math.html) * improved the 'Memory' module: - renamed memory diagnostics capabilities for clarity - added a --memLeaksByDesc flag to track only certain types of leaks - stopped tracking memory allocations not related to Chapel code by default (see http://chapel.cray.com/docs/1.12/modules/standard/Memory.html) * errorToString(ENOERR) now portably returns "No error" in 'Error' module (see http://chapel.cray.com/docs/1.12/modules/standard/Error.html) * applied the 'private' keyword to standard modules as appropriate/possible Performance Improvements ------------------------ * parallelized large numeric array initialization for better first-touch * improved analysis and optimization of variables that are provably local * fixed a bug in which non-blocking 'on's were counted as local running tasks * improved task counting when one task is waiting for others to complete * optimized task counts to use processor atomics when profitable * made 'cray-x*' systems default to 'qthreads' over 'muxed' * moved polling threads to the last available CPU to avoid contention * made array allocation use calloc(), not malloc() for better first-touch * enabled more optimizations and streamlined code when using the LLVM back-end Memory Improvements ------------------- * stopped leaking sync and single variables on all platforms except Cygwin * eliminated leaks for heap allocated variables used in cobegin/coforall Documentation ------------- * mirrored many of the READMEs from the release onto our online documentation (see http://chapel.cray.com/docs/1.12/usingchapel/ and .../1.12/technotes) * added online documentation for built-in types, functions, methods (see http://chapel.cray.com/docs/1.12/modules/builtins.html) * added online documentation for standard domain maps (layouts and distributions) (http://chapel.cray.com/docs/1.12/modules/distributions.html and layouts.html) * added a copy of the online html documentation to the release itself (see $CHPL_HOME/doc/html) * converted most READMEs to ReStructured Text (.rst) or markdown (.md) (for example, see $CHPL_HOME/doc/* and $CHPL_HOME/doc/technotes/*) * refreshed the contents of most former READMEs as part of this effort * language specification updates: - added a new chapter on Chapel's memory consistency model - added documentation of the I/O operator, <~> - improved the specification's page numbering and format - retired standard library chapters from the spec now that they're online (see http://chapel.cray.com/spec/spec-0.98.pdf) * standard module documentation improvements - added a "Formatted I/O for C Programmers" table to the IO module (see http://chapel.cray.com/docs/1.12/modules/standard/IO.html#formatted-i-o) - refreshed the documentation of other standard modules * refreshed the contents of the C interoperability technical note (see http://chapel.cray.com/docs/1.12/technotes/extern.html) * retired README.format due to its documentation as part of a standard module (http://chapel.cray.com/docs/1.12/modules/standard/IO.html#IO.string.format) * removed Tilera-specific documentation due to lack of use and testing Example Codes ------------- * rewrote the 'stream-ep' example to remove the now unnecessary 'local' block (see examples/benchmarks/hpcc/stream-ep.chpl) * added a copy of Chapel code from learnXInYMinutes site to examples/primers (see examples/primers/learnChapelInYMinutes.chpl) * added a primer for the new 'chplvis' tool (see examples/primers/chplvis/README) * added a primer for the new LAPACK module (see examples/primers/LAPACKlib.chpl) * added a new examples/patterns directory for storing common code patterns (see examples/patterns/README) * added patterns/recordio.chpl to demonstrate reading tab-delimited records (see examples/patterns/recordio.chpl) * updated shootout/nbody.chpl to use 'ref's rather than nested procedures (see examples/benchmarks/shootout/nbody.chpl) * replaced uses of format() with writef() in SSCA2 benchmark (see examples/benchmarks/ssca2/) * made the fileIO primer more tolerant of floating point roundoff (see examples/primers/fileIO.chpl) * made the FFTW primer self-validating w.r.t. numerical differences (see examples/primers/FFTWlib.chpl) * removed 'param' from lulesh loops that probably don't want/need it (see examples/benchmarks/lulesh/) Compiler Flags (see 'man chpl' for details) ------------------------------------------- * redefined --fast to no longer imply --no-ieee-float * added --[no-]ieee-float support for CHPL_TARGET_COMPILER 'clang' and 'intel' * made --ccflags arguments stack rather than override one another * added support for --print-emitted-code-size for the LLVM back-end Execution Flags --------------- * added a --memLeaksByDesc flag to track only certain memory categories * made --memLeaks[ByDesc] be governed by the --memTreshold flag Error Message Improvements -------------------------- * improved how internal error messages are displayed to users * improved error messages for runaway comments * improved source location provided by 'noinit' warnings Bug Fixes --------- * forall loops over a single array now correctly use the standalone iterator * fixed bugs with applying reduce intents to forall loops over domains/arrays * fixed bugs with scope resolution's choice of which symbol to resolve to * fixed a bug in which overloads of '|' broke internal modules * fixed a bug related to extern variables of types like c_ptr(c_int)) * fixed an internal error when a class calls its parent class's destructor * fixed a bug in which large array copies could overflow runtime arguments * fixed a bug in which calls of the form '<type>(x)' would cause internal errors * fixed a bug in I/O when skipping whitespace encountered illegal characters * fixed printing/reading of integers with '%{##.##}' format * made readf() calls without error arguments halt on mismatches * fixed a bug in which trailing whitespace was being consumed too aggressively * made default rectangular arrays print in JSON as arrays-of-arrays * fixed EOF-related bugs in Reader/Writer * fixed a bug in which channel.read(style) was ignoring its style argument * fixed a bug in which non-blocking 'on's were counted as local running tasks * fixed a compiler exception caused by dividing by param '0' * fixed a bug in the is*() FileSystem functions when given an invalid path/link * improved chpldoc's handling of failure to create output and tmp directories * added an error message for too-long compiler flags rather than truncating * fixed a bug in which calls to malloc/free/etc in extern blocks caused errors * fixed 'text file busy' errors in certain situations when invoking 'chpl' * fixed a bug in which overloading was being permitted based on argument intents * fixed a segfault in the glob() iterator when following 0..0 with 0 matches * fixed a bug in which bad source location info was passed to string routines * preserved source location information for cobegins * fixed a bug relating to inlined iterators and generic array fields * fixed a bug relating to passing c_strings to extern C functions Platform-specific Changes ------------------------- * made 'cray-x*' systems default to 'qthreads' over 'muxed' * 'muxed' tasking now supports stack guard pages for non-hugepage heaps (see http://chapel.cray.com/docs/1.12/platforms/cray.html) * added support for 'clang-included' to work with GASNet on Cray systems * removed support for cray-prgenv-pgi from the module build on 'cray-x*' * for cray-prgenv-cray compilations, stopped throwing -hipa2 by default Platform-specific bug fixes --------------------------- * fixed a stack underflow problem with 'muxed' tasking causing segfaults * fixed a race in stack management for 'muxed' tasking Portability Improvements ------------------------ * eliminated warnings related to [_BSD|_SVID]_SOURCE being deprecated * improved portability of building the SysCTypes.chpl for Fedora 22 * removed symmetric address assumptions from error-handling code in the runtime * fixed a number of I/O portability errors on cygwin * fixed tcmalloc when compiled with clang 3.6 and used from C++ * fixed I/O for 32-bit Ubuntu 14.04 * added support for building GASNet with segment=fast on OS X * fixed hwloc's cairo detection for certain OS X installations * eliminated some Xcode-specific warnings Third-Party Software Changes ---------------------------- * added 'fltk' to the third-party directory for use by 'chplvis' * enabled the use of GMP with the LLVM back-end * made LLVM build in non-debug mode and without asserts by default * improved cross-compilation of third-party packages for 'cray-x*' platforms * we're now storing RE2 in an unpacked form due to all of our local changes * fixed a valgrind issue in RE2 Launcher-specific Changes ------------------------- * improved 'slurm' launcher's handling of non-zero exit() codes * changed how the 'amudprun' launcher deals with quoted arguments Runtime Library Changes ----------------------- * added support for out-of-segment put()/get() calls * changed I/O to allocate buffer space out of the Chapel heap Testing System -------------- * rewrote 'start_test' and 'computePerfStats' in python * replaced --suppress feature with .suppressif files * added ability to write chpldoc tests using the .doc.chpl extension * updated testing system to support testing of 'chpl-ipe' * made the parallel testing system print an estimated end time * added support for a -valgrindexe flag to 'paratest.server' * made 'start_test' work when it's located outside of $CHPL_HOME/util * added the ability to have multi-line COMPOPTS file * improved support for #defines with quotes for C testing * made C testing system more accepting of C compilers that print filenames * specialized testing system to recognize some common launcher errors * improved ability to use chpl_launchcmd.py from NFS-mounted Lustre filesystems * extended timeout mechanism to work under Cygwin Makefile Changes ---------------- * rewrote 'make check' to remove reliance on start_test/tcsh/python Performance Testing/Graphing System ----------------------------------- * added a 'screenshot' capability for performance graphs * added the ability to annotate cray-xc performance graphs * retired the old gnuplot-based graphing system * reduced graphing system's reliance on CHPL_HOME being set * improved graphing system's stability when there is no ANNOTATIONS.yaml file Developer-oriented changes: Process Improvements ------------------------------------------------ * began using Jira for issue tracking Developer-oriented changes: Documentation Improvements ------------------------------------------------------ * added notes about testing nightly scripts to util/cron/README Developer-oriented changes: Compiler Flags ------------------------------------------ * added a --break-on-resolve-id flag for stopping when calling a function Developer-oriented changes: Module improvements ----------------------------------------------- * cleaned up how filename/line# information is attached to network atomics * added support for casting directly to c_strings * started using specific I/O read/write functions for int/real/imag types * cleaned up handling of bool values in IO.chpl * made initOnLocales() a standalone parallel iterator and added 'chpl_' prefix Developer-oriented changes: Makefile improvements ------------------------------------------------- * added a top-level Makefile rule for building the parser Developer-oriented changes: Compiler improvements/changes --------------------------------------------------------- * rewrote the compiler passes that widen references as necessary * rewrote major portions of the scope resolution pass * reduced reliance on homegrown ADTs with their STL equivalents * improved the sharing of flags between 'chpl' and 'chpldoc' * turned off sugaring of type names in --devel mode * internal improvements to how tuples are handled * removed unused flag FLAG_NO_USE_CHAPELSTANDARD * renamed FLAG_PRIVATE to FLAG_LOCALE_PRIVATE for clarity * retired the "auto destroy fn" pragma * added tracking of zippered loops throughout compilation * ensured the lexer returns a heap-allocated const char* for each literal Developer-oriented changes: Runtime improvements ------------------------------------------------ * added support for task callbacks in the runtime * eliminated reliance on __always_inline * added chpl_mem_goodAllocSize() to runtime to support minimizing wasted memory * added the ability to flag certain memory types to avoid tracking them * added a capability to generate a header file #defining CHPL_* variables * turned off remote caching for tasking layers where migration can occur Developer-oriented changes: Third-party improvements ---------------------------------------------------- * cleaned up local modifications to Qthreads for contribution back to master * updated third-party GMP/RE2 READMEs to refer to online module documentation ------------------------------------------------------------------------------ _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2015-06-03 22:45:22
|
Hi Chapel Community -- A few quick things today: CHIUW 2015 ---------- The second annual Chapel Implementers and Users Workshop is right around the corner (June 13-14 in sunny Portland, OR). If you haven't had a chance to peruse the schedule, this year's lineup is great: * Bill Carlson (IDA) will be giving our keynote talk, "Shared Memory HPC Programming: Past, Present, and Future Our speaker/topic list includes: * Mauricio Breternitz (AMD): targeting Chapel to HSA + XTQ * Doru Popovici (CMU): writing native FFTs in Chapel * Michelle Strout (CSU): diamond tiling iterators in Chapel * Sparsh Mittal (ORNL): comparing Chapel, D, and Go for SOR codes * Brian Guarraci (Twitter): using Chapel on ARM clusters * Dylan Stark (Sandia): impact of runtime choices on performance * Jens Breitbart (TUM): data flow programming challenges * Laura Brown (USACE): comparing Chapel to MPI, MPI/OpenMP In addition, we'll have a handful of talks from members of the Cray Chapel team on recent language features and optimizations. For the full program, refer to: http://chapel.cray.com/CHIUW2015.html To register, head to: https://www.regonline.com/register/login.aspx?eventID=1692718&MethodId=0&EventsessionId= Day 2 of CHIUW will be a Chapel coding camp. If you have a Chapel-related activity that you'd like to pursue with a member of the Chapel team, please let us know: http://chapel.cray.com/CHIUW2015-cfp.html#codecamp Reddit AMA ---------- We are toying with the idea of holding a Reddit Ask Me Anything (AMA) session on Chapel just before or after summer. If such an event would be of interest to you, please let me know. Job Listing ----------- The Chapel team at Cray currently has a position open for a build/test/release engineer. Our ideal candidate would transition to more of a developer role over time. Candidates who are entusiastic about open-source projects, language development, and parallel computing are encouraged to apply. For details, see: http://chapel.cray.com/jobs.html Hope to see and meet many of you at CHIUW! -Brad Chamberlain ------------------------------------------------------------------------------ _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2015-04-09 16:46:33
|
Hi Chapel Community -- Just a quick reminder that today is the deadline for CHIUW "Hot Topics" proposals. If you have a short talk you'd like to give at CHIUW, send in your title and abstract paragraph today! http://chapel.cray.com/CHIUW2015-cfp.html#hotTopics On behalf of the CHIUW 2015 program committee, -Brad PS -- Since this message is short, I'll take a few extra lines to plug the Chapel Facebook page which is a great way to track goings-on around the project on a finer-granularity than the mailing lists. Help us hit our 100th "like": https://www.facebook.com/ChapelLanguage ------------------------------------------------------------------------------ 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-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2015-04-03 01:10:06
|
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 |
From: Brad C. <br...@cr...> - 2015-03-31 22:59:18
|
Hi Chapel Community -- As a means of exhibiting a greater number of topics and speakers at CHIUW 2015, we've decided to add a "Chapel Hot Topics" session to this year's agenda. This session will be composed of a handful of short (~10 minute) talks to complement the full-length (~30 minute) talks that will form the backbone of the first day of CHIUW. If you're interested in giving a Hot Topic talk at CHIUW, send: * a title * a one-paragraph abstract for the talk * your name and affiliation to cha...@cr.... The key dates are: April 9th: Hot Topic submissions due April 17th: notification of acceptance June 13th-14th: CHIUW 2015 (Hot Topics talks with be on the 13th) In addition, any submissions for the full-length talk slots that were not accepted will automatically be considered for the hot topics session unless their authors would prefer them not to be. Thanks! -Brad PS -- Note that this deadline is merely a bit more than a week away. PPS -- This call has also been added to the Chapel website at: http://chapel.cray.com/CHIUW2015-cfp.html#hotTopics ------------------------------------------------------------------------------ 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 Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2015-03-16 16:43:09
|
Hi Chapel Community -- This is a final reminder that proposals for CHIUW talks are due this Friday (and that we'll be prioritizing code camp proposals received this week as well). Briefly: What? The ACM SIGPLAN 2nd annual Chapel Implementers and Users Workshop When? June 13-14 Where? In Portland, OR, as part of PLDI 2015 / FCRC 2015 For details, please refer to: http://chapel.cray.com/CHIUW2015-cfp.html And as a reminder, with CHIUW's ACM SIGPLAN sponsorship this year, speakers have the opportunity to apply for funding to offset the costs of attending. Looking forward to seeing your proposals, -Brad Chamberlain (on behalf of the CHIUW 2015 Program Committee) ------------------------------------------------------------------------------ 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 Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2015-02-25 20:09:36
|
Hi Chapel Community -- This is a quick reminder that the submission deadline for CHIUW 2015 is coming up on March 20th -- about 3-1/2 weeks away. If you have Chapel-related work that you'd like to present at CHIUW this year, or a code camp activity that you'd like to see happen on day 2 of CHIUW, please submit your proposal by that date for consideration. For further details on the submission process, please refer to the call for participation at: http://chapel.cray.com/CHIUW2015-cfp.html As a reminder, CHIUW will be held the weekend of June 13-14 as part of PLDI and FCRC in Portland, OR. Also, CHIUW 2015 is an ACM SIGPLAN-sponsored workshop which means that eligible speakers will be able to apply for funding to help offset travel costs. See the SIGPLAN PAC website for more details: http://www.sigplan.org/PAC/ Thanks, and we hope to see and meet many of you at CHIUW in June! -Brad ------------------------------------------------------------------------------ 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 Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |
From: Brad C. <br...@cr...> - 2014-12-11 17:43:50
|
Hi Chapel Community -- A couple of quick news items as we wrap up the year: CHIUW 2015 ========== We're pleased to announce that CHIUW (the Chapel Implementers and Users Workshop) has been accepted as a PLDI workshop in 2015, to be held in Portland, OR on June 13-14. PLDI is part of ACM FCRC 2015 this year, so we hope that this will make it easy for members of the Chapel community to attend, while attracting new participants as well. This year, CHIUW will continue the talk-based mini-conference format from last year's workshop on day one. We're excited to announce that Bill Carlson, one of the founding fathers of PGAS programming, will be our our keynote speaker. We've also added a second day for code camp activities, such as pair- and small-group programming opportunities for both users and developers. If you have Chapel work you'd like to talk about on day one or a coding activity to pursue on day two, we encourage you to submit them for consideration. Talk submissions are due March 20th, and we're encouraging code camp proposals to be made by then if possible (though we'll consider coding proposals up to the last minute, as staffing permits). For more information on CHIUW, please refer to: CFP: http://chapel.cray.com/CHIUW2015-cfp.html Program: http://chapel.cray.com/CHIUW2015.html SC14 Wrap-up ============ The Chapel schedule at SC14 kept us hopping all week long and put us in contact with a lot of new faces and old friends. During the week at SC14, the Chapel community had: 1 tutorial 1 emerging technologies exhibit and talk on the show floor 1 ACM SRC poster that won 3rd prize for undergrads (by Ian Bertolacci, CSU) 2 Chapel-centered BoFs (Lightning Talks and CHUG) 4 other BoFs at which the Chapel team spoke (LLVM, Python, PGAS, PADAL) 3 outreach activities to students considering HPC studies/careers 3 Chapel vines produced to plug our events 1 CHUG happy hour 120 Chapel water bottles distributed 472 slides prepared for presentation If you want to browse slides from SC14, they are archived online: SC14 presentations: http://chapel.cray.com/presentations.html SC14 tutorial: http://chapel.cray.com/tutorials.html Chapel Language Facebook page ============================= We're striving to keep traffic on this chapel-announce mailing list to a minimum (~12 posts a year) while pushing information out much more frequently through our new Chapel Language Facebook page (weekly, if not more often). If you'd like to keep up with the project on a regular basis or to peek in on it from time-to-time, surf over to: https://www.facebook.com/ChapelLanguage (note that this works whether or not you're a Facebook user). Thanks for what's been a great year, and we hope to see you in 2015! -Brad Chamberlain (on behalf of the Chapel team) ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk _______________________________________________ Chapel-announce mailing list Cha...@li... https://lists.sourceforge.net/lists/listinfo/chapel-announce |