[m-users.] Parallel Mercury

Julien Fischer jfischer at opturion.com
Tue Nov 29 11:23:13 AEDT 2016


Hi,

On Tue, 29 Nov 2016, Paul Bone wrote:

> On Mon, Nov 28, 2016 at 07:03:29PM -0200, Eduardo Costa wrote:
>> Well, I discovered the problem. I need to compile the program with:
>> 
>> mmc --parallel -j4 --grade=asm_fast.par.gc fibgc.m -o fib.x
>
> I was just about to offer this suggestion.  The & parallel conjunction
> operator is only supported in low level C parallel grades.


I suggest that programs that _must_ use parallel conjunction (as opposed
to programs that _could_ use it), include:

     :- pragma require_feature_set([parallel_conj]).

somewhere.  That way, the compiler will complain if accidently use a
compilation model that doesn't support it.

...
>
> The --parallel option and the par grade component mean the same thing (this
> may change in the future).  If you give a --grade option, you should avoid
> giving --parallel or --high-level-code options as they could conflict.
>
> the --make option also gives you an easier way to build your programs.
> Simply:
>
>    $ mmc --make --grade=asm_fast.gc.par.stseg -O3 fibgc
>
> Should give you good results.

Although it's not hugely useful for fib, is '--par-loop-control' in a
usable state?  (i.e. could it be enabled by default, or at least
documented?)

(In passing, I note that options.m names that option --par-loop-control,
but the commented-out documenation in the user's guide names it
--loop-control.)

Julien.


More information about the users mailing list