"Anand Patil" <anand.prabhakar.patil@xxxxxxxxx> writes: > > I find that the performance of my subroutines > varies greatly if I reload libgomp, but if I rerun the subroutines > several times for the same load of libgomp performance is fairly > constant. Other information that may be relevant: > > - The number of threads stays the same (I have OMP_DYNAMIC=False). > - The relative speedup from OpenMP (wall time / CPU time) stays > relatively constant. > > I don't even know where to start looking for the source of this > behavior. Any tips? Almost certainly physical memory layout. If you have to ask, don't bother trying to chase it down. The reason is that operating systems people are unreasonably prejudiced (and have been for 40+ years) against providing the relevant information (let alone control) to applications programmers. Most Linuces don't even provide access to the hardware performance registers. Regards, Nick Maclaren.