[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