[m-users.] Parallel execution in Mercury?

Paul Bone paul at bone.id.au
Sat Jan 12 00:30:34 AEDT 2019

On Fri, Jan 11, 2019 at 01:43:56PM +0100, Matthias G├╝demann wrote:
> Hi Volker,
> > There are a large amount of papers on parallelism on http://mercurylang.org/
> > documentation/papers.html, but I couldn't find anything in the Language
> > Reference Manual, User's Guide, Library Reference Manual and the FAQ.
> I wrote an article about parallelism in Mercury a while ago
> http://guedemann.org/articles/Mar-17-2015.html
> Maybe that is useful for you. In short, you need a parallel grade and
> you use the `&` conjunction.
> There is also the `thread` module in the library, but I haven't used this yet.
> search for `parallel` here:
> https://www.mercurylang.org/information/doc-latest/mercury_user_guide/Optional-features-compilation-model-options.html

In addition to these checkout some of the examples.

In the source tarball and git repository they're under benchmarks/progs/

There are a few examples that work with parallelism, some are designed to
work with the still experimental auto-parallelism.  However others:

 + various versions of icfp2000 (a raytracer)
 + mandelbrot

These were known to work last time I tried them.

Mandelbrot might be the best to look at first, depending on command line
arguments it attempts to run in parallel in various ways (for comparing

Paul Bone

More information about the users mailing list