For automatic parallelization,
the -apo option is to be used while compiling. (see installing
Jadim)
A first test with Jadim was
aimed to see if the parallelizing of the code was efficient, using a small
model. This was done with the compiler options given with Jadim, so only
a -o2 optimization was used, and the -APO option was not used. The loss
of performances due to the -o2 option compared to a -fast optimization
is about 15% (user time : 30.212s vs/ 25.99s)
There is an immediate loss
of efficiency, by using more than one processors. This was expected since
the code was not written in view of a possible parallelisation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The test was then done with another model, much larger. This makes it easier to parallelize the process for the computer. An initial gain of 20% is observed with two CPUs. This is important enough to be considered in future uses of Jadim. On a one week run, the gain is immediately of more than one day. But the use of more than two CPUs, leads to a loss of performances.
The following test consists in comparing
the performances of the whole program automatically parallelized, with
only the main sub-programs parallelized.
To find out what are the mainly
used subprograms, we used speedshop. It is a tool allowing a sampling of
the counter and the stack of the software. This depends on two parameters
: the sample rate and the type of information sampled. The tool then generates
a data file while running the software. It allows to find out where the
program spends the most time.
More info on speedshop here.
There was a difference between
these two ways to parallelize the problem, but possibly due to the lack
of the -APO option. This should be tested later.
|
|
|
|
||
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|