[Mesa-users] Questions about mesa-docker
Ian Foley
ifoley2008 at gmail.com
Fri Nov 8 22:07:25 UTC 2024
Hi Evan,
Thanks for this response. Hyper_V allows me to allocate up to 22 threads,
but there is no setting for cores. When I run MESA, I have to set
OMP_NUM_THREADS=n. With n set to 22 it ran much slower than setting it on
12. It seems to me that Hyper_V sets the maximum number of threads that can
be allocated, but the actual number used depends on the OMP_NUM_THREADS set
for the run. I don't know how many cores I am allocating to docker
containers, only the number of threads. I'm guessing that 14 is the optimal
number for me because there are 6 performance cores and 8 efficient ones.
But it is a guess and I understand little about the processor architecture.
I did think the advantage of more threads would depend on how the MESA code
has been written to incorporate OpenMP and that you might know about that.
Am I correct to assume each pgstar window would run in a different thread
so the number of pgstar windows and using pgstar will have little impact on
MESA execution speed if there are enough cores? Are there other components
of a run which will execute in parallel threads? What features of the code
can be executed in different threads and so improve speed of execution if
there are enough cores?
I don't know how to change the default settings with wsl2, and it appears
to be better to use Hyper_V. There is some discussion about setting global
defaults in a wslconfig file, but the format for its content is unclear.
Kind regards
Ian
On Sat, 9 Nov 2024 at 07:44, Evan Bauer <evan.bauer.astro at gmail.com> wrote:
> Hi Ian,
>
> Thanks for running these tests! I don't currently have a windows 11
> machine to test all this on, so I probably don't have more concrete
> guidance to offer on the optimal configuration.
>
> My intuition (similar to yours) might have been that you would want to
> configure MESA to run on the same number of threads as you have performance
> cores, but it sounds like it isn't quite that simple. It may be the case
> that the OMP thread scheduling for MESA parallelization is smart enough to
> make use of the efficient cores without starving the more powerful cores of
> useful work to do. So perhaps the optimal number of threads for your setup
> is 14 or 16? (I don't think it would be 22 because hyperthreading shouldn't
> gain you much for MESA runs.)
>
> Do you know how many total cores you are allocating to docker containers?
> Sometimes that defaults to a lower number than the actual hardware cores
> that your system has.
>
> Cheers,
> Evan
>
>
> On Nov 6, 2024, at 3:48 PM, Ian Foley <ifoley2008 at gmail.com> wrote:
>
> Hi Evan,
>
> Main question. What is the resource configuration in a Windows 11 pro
> container that will give the best performance when running MESA? I think
> the answer will depend on how the MESA software has been written to take
> advantage of multi-core processors.
>
>
> My experience, reflected by the tests below, shows that the resource
> configuration can have a big impact on performance.
>
>
> My configuration is a laptop running MESA in a container set up by Evan
> Bauer on Windows 11 Pro
>
> The 5 tests below raise questions about the best configuration
>
>
> Run 1 – Laptop was using an i9 intel processor with 6 cores and 12 logical
> processors and 16 GB RAM. Used Mesa version 21.12.1 with OMP_NUM_THREADS=6
>
>
> Run 2-5 on a laptop using the intel ultra 9 185H processor with 32 GB RAM
> Processor Specifications:
> Total Cores 16
> # of Performance-cores 6
> # of Efficient-cores 8
> # of Low Power Efficient-cores 2
> Total Threads 22
> Max Turbo Frequency 5.1 GHz
> Intel® Turbo Boost Max Technology 3.0 Frequency 5.1 GHz
> Performance-core Max Turbo Frequency 5.1 GHz
> Efficient-core Max Turbo Frequency 3.8 GHz
> Low Power Efficient-core Max Turbo Frequency 2.5 GHz
>
>
> Performance tests were made running test suite 1M_pre_ms_to_wd.
> I computed the times to run the 6 inlist’s in the test suite
>
>
> Run 2. Set up container to use WSL2 as this was recommended by the
> Docker Engine. I found it was quite difficult to configure the resources.
> Roughly, the performance was twice as slow as that in Run 1 with the old
> laptop. Really surprised as I expected a significant improvement with the
> more powerful new laptop.
>
>
> Run 3. Thought to setup container with Hyper-V. Found that it was easy to
> configure the resoueces. Set it up with 22 threads, 15.7 GB RAM and 3GB of
> swap space. Only did a partial run but found that the performance was about
> the same as the old laptop. Again not the improvement I expected. I
> wondered whether if I reduced the max number of threads it would be faster.
>
>
> Run 4. Complete run with max of 12 threads. It ran twice as fast! Since my
> new laptop has a processor with 6 performance cores, I wondered if setting
> OMP_NUM_THREADS=6 will perform even better.
>
>
> Run 5. Max of 6 threads.
>
>
> inlists
> Run 1
> Run 2
> Run 3
> Run 4
> Run 5
> Mesa Version
> 21.12.1
> 24.3.1
> 24.3.1
> 24.3.1
> 24.3.1
> Configuration
> Hyper_V
> Wsl2
> Hyper_V
> Hyper_V
> Hyper_V
> No of threads
> 6
> 22
> 22
> 12
> 6
> Time unit
> mins
> mins
> mins
> mins
> mins
> Start
> 0.02
> 0.04
> 0.02
> 0.02
> 0.02
> End h burn
> 5.67
> 14.48
> About 5
> 3.92
> 6.19
> End he burn
> 446.14
> 525.24
>
>
> 213.67
> 317.75
> He core flash
> 117.33
> 70.09
>
>
> 34.93
> 47.47
> End agb
> 29.36
> 19.35
>
>
> 10.72
> 14.52
> To wd
> 11.34
> 13.24
>
>
> 4.77
> 6.36
> Total time
> 609.86
> 642.44
> ?
> 268.03
> 392.31
>
>
>
>
> Overall then using Hyper_V Manager seems to be 2 to 3 times faster than
> wsl2.
>
>
> Also, with the processor I have, around 12 threads was better than 22 or
> 6. The reason for this is unclear and advice would be useful.
>
> btw, I don't think the latest release has yet been added to mesa-docker.
>
> Kind regards
> Ian
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20241109/ca39d788/attachment.htm>
More information about the Mesa-users
mailing list