From: Roberto Di Cosmo <roberto@dicosmo.org>
To: caml-list@inria.fr
Cc: roberto@dicosmo.org, marcod@di.unipi.it
Subject: [Caml-list] [ANN]: Parmap 0.9.9, and call for contributors (errata corrige)
Date: Wed, 6 Jun 2012 18:39:19 +0200 [thread overview]
Message-ID: <20120606163919.GB15675@voyager> (raw)
[The releases of Parmap are now always on the 'master' branch,
and not on the 'pipes' branch, as erroneously written in the
git checkout instructions appended to the previous message.
This message fixes this mistake.
Apologies for the error and for the noise on the list]
Dear all,
a few lines to announce the (much improved) version
0.9.9 of Parmap, the minimalistic library which can be useful
to exploit your multicore processor with minimal modifications
to your OCaml programs.
A full description is in the README file, as well as several
examples, and an article on Parmap has just appeared here:
http://www.sciencedirect.com/science/article/pii/S1877050912003237
Main changes
------------
- the new combinator pariter iterates over a sequence; since
no result is returned to the main process, this code is
faster than calling parmap and ignoring the result
- new functions that provide as argument the index of the
element of the sequence: parmapi, parmapifold,
array_parmapi, array_float_parmapi
- it is now possible to set the default number of cores used
when calling the combinators without the optional parameter
ncores
- eliminated dependencies on external libraries: this code
should now build out of the box on any machine
- added configure support for use with legacy OCaml 3.11
and tested to build correctly with OCaml 4.00
- initial support for Oasis packaging
In a nutshell
-------------
If you want to use your many cores to accelerate an operation which
happens to be a map, fold or map/fold (map-reduce), just use Parmap's
parmap, parfold and parmapfold primitives in place of the standard
List.map and friends; you can specify the number of subprocesses to
use with the optional parameter ncores, and the size of granularity
of the paralle computation with the optional parameter chunksize.
For example, in the classical Mandelbrot present in the example
directory, the line
Parmap.parmap ~ncores: !ncores ~chunksize: !chunksize pixel (Parmap.L tasks)
allows to spawn ncores separate processes, each working on sublists of
size chunksize of the tasks list.
How to get it
-------------
Project home: https://gitorious.org/parmap
The release announced in this message has hash
1c5b5eac61eda2454034a43eb124ab490885ef3a
and is tagged Released-0.9.9
To compile and install:
git clone git://gitorious.org/parmap/parmap.git
git checkout master
aclocal -I m4
autoconf
./configure
make
make install
How to help
-----------
We would use some help on
- writing unit tests, both for functionality, and
speedup estimation
- adding support for automatically determining
the number of available physical cores on the
different unix-like operating systems (can be tricky)
Enjoy
-- Marco Danelutto and Roberto Di Cosmo
P.S.: many thanks to Francois Berenger for extensive testing, to Jerome
Maloberti for GODI packaging, and to Markus Weissman for suggestion the
default for ncores.
reply other threads:[~2012-06-06 16:36 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120606163919.GB15675@voyager \
--to=roberto@dicosmo.org \
--cc=caml-list@inria.fr \
--cc=marcod@di.unipi.it \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox