|Does Loop Fission Work in Single Cores? email@example.com (kunjaan) (2009-05-06)|
|Re: Does Loop Fission Work in Single Cores? firstname.lastname@example.org (George Neuner) (2009-05-06)|
|Re: Does Loop Fission Work in Single Cores? email@example.com (Harold Aptroot) (2009-05-07)|
|Re: Does Loop Fission Work in Single Cores? firstname.lastname@example.org (Florian Stock) (2009-05-07)|
|From:||George Neuner <email@example.com>|
|Date:||Wed, 06 May 2009 15:32:49 -0400|
|Organization:||A noiseless patient Spider|
|Posted-Date:||07 May 2009 07:32:00 EDT|
On Wed, 6 May 2009 00:08:21 -0700 (PDT), kunjaan <firstname.lastname@example.org>
>When does it make sense to use Loop fission/distribution if I am
>compiling for a single core processor?
Well, distribution is meaningless on a single core.
When it makes sense to fission a loop is hardware specific. Generally
you want to do it when the loop somehow isn't a good fit to the
characteristics of the primary cache - whether for code size, for data
access pattern, or for data dependent branching within the loop body.
For modern 32-bit and 64-bit CPUs, the primary cache is large enough
for all but really monstrous loops ... it's far more likely that
you'll want to be unrolling or fusing loops than fissioning them.
Fissioning for core distribution is a different question, but the
consideration is not code size but rather how the data access patterns
of (possibly) concurrently executed separate loops will interact.
Return to the
Search the comp.compilers archives again.