Getting openEMS to execute more quickly

How to use openEMS. Discussion on examples, tutorials etc

Moderator: thorsten

Post Reply
_neil_
Posts: 18
Joined: Sun 06 Feb 2022, 23:07

Getting openEMS to execute more quickly

Post by _neil_ » Thu 19 May 2022, 10:43

OpenEMS is a great tool; i've found great agreement with experimental measurements. I'd like to use openEMS a lot more and a shorter execution time would help that greatly. One benefit I found was that running openEMS in Linux Mint under Octave 5.2 (the latest version for Mint) runs on average four times faster that is does in Windows under Matlab.

So in building a new machine specifically to run openEMS what would be the optimum parameters for shorter execution times? Do i maximise the number of CPUs, the number of cores, more RAM, use a GPU, run in more recent versions of Octave (eg version 7 under Windows), run openEMS in Python, or what else can you do? There must be many options, but above all i'd like to do more simulations in openEMS.

many thanks, Neil

HexAndFlex
Posts: 17
Joined: Sat 06 Oct 2018, 09:11

Re: Getting openEMS to execute more quickly

Post by HexAndFlex » Sat 28 May 2022, 09:04

I run it on a 10core(20thread) i9 machine (gen 9). OpenEMS isn't great at utilising all the cores and I get faster results limiting it to about 8 threads.

I believe it's a memory bandwidth problem.

Hence my best guess for an ideal machine.

1. Lots of cache memory
2. Fastest memory you can get(with motherboard that can over lock it).
3. High CPU Freq. Overclockable. With good cooling.

Less important things

1. GPU. Not used at all.
2. High core count. Less, but faster cores probably better.
3. RGB

The new Ryzen 7000 looks like it might be great when it ships. Sustained 5GHz boost, DDR5 RAM, 2MB LOW cache per core. https://www.anandtech.com/show/17399/am ... oming-fall

_neil_
Posts: 18
Joined: Sun 06 Feb 2022, 23:07

Re: Getting openEMS to execute more quickly

Post by _neil_ » Sun 29 May 2022, 08:15

Many thanks for your advice, but just a further query.

Given processing is restricted to the CPU and the trend has been to increase the number of cores (rather than speed), is there any way to get openEMS to utilise more efficiently processors with greater numbers of cores? In the forum it seems to show increasing the number of cores beyond about four results in a slower processing time, whilst quite a few processors now have 16 or more. What causes the drop off in efficiency when using a larger number of cores and can something be done about it? Is optimum number of cores determined by the openEMS software, the processor itself or a combination of both?

Post Reply