Problem with parallel map
dsimcha
dsimcha at yahoo.com
Sun Mar 6 06:33:05 PST 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5710
It's a DMD issue. I've been meaning to report it for a while.
Unfortunately making a workaround for it would be a huge PITA at best
and impossible in the toughest use cases.
On 3/6/2011 9:12 AM, Russel Winder wrote:
> David,
>
> I am not sure how properly to report this in this review period . . .
>
> If I use:
>
> taskPool.reduce ! ( "a + b" ) ( 0.0 , outputData )
>
> then it works. If however I try:
>
> taskPool.reduce ! ( ( a , b ) { return a + b ; } ) ( 0.0 , outputData )
>
> I get:
>
> pi_d2_parallelMap.d(58): Error: template instance cannot use local '__dgliteral1(__T2,__T3)' as parameter to non-global template reduce(functions...)
>
> which doesn't really work for me :-((
>
> If I try
>
> taskPool.reduce ! ( function double ( double a , double b ) { return a + b ; } ) ( 0.0 , outputData )
>
> then I get:
>
> pi_d2_parallelMap.d(59): Error: function std.parallelism.__funcliteral1 cannot access frame of function pi_d2_parallelMap.execute.__funcliteral1
> pi_d2_parallelMap.d(59): Error: function std.parallelism.__funcliteral1 cannot access frame of function pi_d2_parallelMap.execute.__funcliteral1
>
> which is just the error I get with the sequential map and so a compiler
> problem, I just added it for completeness.
>
> Thanks.
>
More information about the Digitalmars-d
mailing list