Tokenizing D at compile time?
Sean Kelly
sean at invisibleduck.org
Sun Aug 28 09:24:43 PDT 2011
Was false sharing a factor, or does you paralellization mechanism take care of that?
Sent from my iPhone
On Aug 27, 2011, at 6:06 AM, dsimcha <dsimcha at yahoo.com> wrote:
> On 8/27/2011 5:37 AM, Don wrote:
>> dsimcha wrote:
>>> == Quote from Rainer Schuetze (r.sagitario at gmx.de)'s article
>>>> The lexer used by Visual D is also CTFE capable:
>>>> http://www.dsource.org/projects/visuald/browser/trunk/vdc/lexer.d
>>>> As Timon pointed out, it will separate into D tokens, not the more
>>>> combined elements in your array.
>>>> Here's my small CTFE test:
>>>
>>> Thanks, but I've come to the conclusion that this lexer is way too big a
>>> dependency for something as small as parallel array ops, unless it
>>> were to be
>>> integrated into Phobos by itself. I'll just stick with the ugly syntax.
>>> Unfortunately, according to my benchmarks array ops may be so memory
>>> bandwidth-bound that parallelization doesn't yield very good speedups
>>> anyhow.
>>
>> Totally. Anything below BLAS3 is memory-limited, not CPU limited. Even
>> then, cache prefetching has as big an impact as number of processors.
>
> I think the "memory bandwidth-bound" statement actually applies to a lot of what I tried to do in std.parallel_algorithm. Much of it shows far-below-linear speedups, but it can't be explained by communication overhead because the speedup relative to the serial algorithm doesn't improve when I make the problem and work unit sizes huge.
More information about the Digitalmars-d
mailing list