From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,ca8459a5f29ba8f3,start X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit X-Received: by 10.66.163.8 with SMTP id ye8mr5172957pab.23.1367649232247; Fri, 03 May 2013 23:33:52 -0700 (PDT) Path: ln4ni1292pbb.0!nntp.google.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!post01.iad.highwinds-media.com!newsfe09.iad.POSTED!not-for-mail From: Brad Moore User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130328 Thunderbird/17.0.5 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: ANN: Paraffin 4.1, Parallelism Generics Message-ID: NNTP-Posting-Host: 68.145.219.148 X-Complaints-To: internet.abuse@sjrb.ca X-Trace: 1367649231 68.145.219.148 (Sat, 04 May 2013 06:33:51 UTC) NNTP-Posting-Date: Sat, 04 May 2013 06:33:51 UTC Date: Sat, 04 May 2013 00:33:55 -0600 X-Received-Bytes: 4068 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Date: 2013-05-04T00:33:55-06:00 List-Id: The next release of Paraffin, Paraffin 4.1 is now available for download. Paraffin is a suite of Ada 2012 generics that facilitates writing parallel programs featuring divide and conquer parallelism. The generics includes support for parallel loops and parallel recursive subprograms. In addition, there are non-Ravenscar versions of the generics, paraffinalia, and test programs, as well as Ravenscar versions. The Ravenscar versions satisy the restrictions defined in the Ravenscar Profile. Recursive parallelism also includes stack safe parallelism, which provides assurances that recursion will not overflow the stack. This feature also benefits single processor as well as multicore. In addition, Paraffin comes with Paraffinalia, which is a suite of parallel algorithms designed for reuse that includes; - Parallel Integration of arbitrary functions - Parallel solving of matrices - Parallel Quicksort - Parallel Fast Fourier Transform - Parallel Red Black Tree - Parallel Linked Lists - Parallel cumulative sum The main features of this new release are; - Fixed a bug in all the recursive work sharing generics that would cause the program to hang if the actual number of workers used is less than the number of requested workers. - If exceptions are raised in worker tasks, it is the first exception raised that is reraised in the sequential task when the parallelism completes, instead of the last exception raised. - Added Usage output for all the test drivers, which gets displayed if any app is executed without any command line parameters. - The Test_Parallel_Loops, and Test_Ravenscar_Parallel_Loops apps would hang without producing any output when run on Windows. This bug has been fixed. - Reducing_Doubly_Linked_Lists abstraction now has reducing functions for splicing at the beginning of the list and at the end. This allows for both forward and reverse parallel loops involving list concatentation, which is demonstrated in a test program. - The Parallel Integrate applet in Paraffinalia now accepts an accuracy parameter that controls how much processing needs to occur. - Pre and post conditions added to the Paraffinalia generics. - Quicksort now works on small arrays in parallel, as small as one element arrays. - global_pragma configuration file that turns on portability checks for all the paraffinalia apps and test drivers. - Stack Safe tests and generics now working for the quicksort and integrate parafinalia apps. - Red_Black_Tree container doesn't Clear list in parallel, which was causing problems when tree if finalized after main task completes. The latest stable release and older releases may be downloaded from; https://sourceforge.net/projects/paraffin/files/ For those who want the current development versions of the source they can download using git (http://git-scm.com/) by issuing the following commands; mkdir sandbox cd sandbox git clone git://git.code.sf.net/p/paraffin/code paraffin-code The current development version typically will correspond to the latest stable release, but may at times be unstable when new features are being worked on. -- Brad