Hi guys, thank
you very much to all who is running and contributing to this forum.
I would be
glad if anyone can provide me non-general
advice how to increase speed up or reduce overheads of for software which
Im trying to parallelize.
dissertation thesis Im developing software to predict dam inflow. Because
calibration it is time demanding I would like to reduce that, by distribution
to more cores. For this purpose Ive chose Intel
Fortran and OpenMP.
code is consist of many nested loop which most outer one is month step (DO = 1,
12). For this reason Ive used data decomposition
approach for parallelization and Ive got PARALLEL DO in front of first outer
one loop (to ensure big granularity). This way of parallelism resulted in quite low SpeedUp approximately 2.4. Thanks
to amplifier I founded that there is no any wait time, no imbalance or idle
processor time - all cores are fully utilized. Increasing work inside nested
loops decrease achieved SpeedUp. Also by shifting PARALLEL DO inside the nested
loops (decreasing granularity) has same impact (more inside, lower SpeedUp). So
I consider that low SpeedUp is caused by big parallelization overheads.
..... and what
I want :-): Increase SpeedUp of
parallelized software. I have following questions:
there any instruction/manual how to proceed to increase SpeedUp for similar
cases like my example? Ive read quite lot of documentation from Intel, OpenMp
and others but all those manuals where quite general (there is not advices for
my case). List what Ive read is below.
there anyone who will be willing to guide me or provide advices to: If it is
possible to increase SpeedUp and how to do that?
of software is there:
very much in advance for your replies . I hope that this discussion will
benefits for all involved.
List what I
already went through: