|
4.2 SCM_VECTORLENGTH
Almost all programs within the ADF package use
numerical
integration, and this is normally the most time-consuming part of the
code.
Numerical integration involves summing together results for each
'integration
point'. By handling a number of points together you can greatly
influence the
performance. The number of integration points handled together is
called the
block length.
If the block length is too small, you will have a
significant overhead and the programs will be very slow.
If the block length is too large, lots of data
will not fit
in cache memory and again the program is not at optimum speed.
The correct block length is somewhere in between,
ranging
from 32 to 4096 depending on your hardware. Sometimes it pays off to
set the
block length explicitly NOT to a power of 2 to avoid memory bank
conflicts.
Again, try for yourself, with your typical
calculation on
your production machine to find out the optimal value for your
situation. On
most machines, 128 is a good compromise value.
|