Subscribe to this thread
Home - General / All posts - Multiple NUMA nodes
ajstead1 post(s)
#18-May-20 12:44

This may be a dumb question, but I have a several multiprocessor architecture machines and when I task Manifold with a large task only 1 processor seems to load up - is this normal behaviour - or do I need to configure something to make it use more of the available NUMA nodes?

Thanks in advance for any help!

Dimitri


7,413 post(s)
#18-May-20 14:59

when I task Manifold with a large task only 1 processor seems to load up

What task are you doing, and why do you think only one processor loads up?

What are the machines you are using, and in what way are they multiprocessor? For example, are you running a manycore CPU, or do you have separate processor boards with separate CPUS?

is this normal behaviour

Assuming you do have a manycore CPU and running multiple threads has not been turned off in BIOS or in Windows, it is normal behavior if you tell it to use only one thread, but not normal behavior if you are doing something that uses many threads by default.

It's easy to tell. Try rerunning at home one of the examples that clearly uses many threads. See the videos page for video examples, like this one. Many of those videos have screen shots showing performance monitor running multiple threads.

There are also user manual topics like the new Example: Find Percentages of Open Space in ZIP Code Areas topic. That one is easy to repeat. If you take a look at the big query that is discussed at the end of the topic, it uses a parallelized Overlay Topology Intersect function, doing parallel processing on vectors with the query launching all available threads.

Duplicate that topic and have task manager open to the performance tab to see how many threads it launches. It should be a bigger job, so you have some time to check the performance monitor before it finishes.

do I need to configure something to make it use more of the available NUMA nodes?

Are the "NUMA nodes" logically part of the same CPU? If so, all that happens automatically by default (assuming it's not turned off in BIOS, etc.). Manifold is CPU parallel within manycore CPUs, not across multiple systems, and if those manycore CPUs use NUMA architecture internally it still works.

For example, the screen shot of the performance monitor in the videos page shows an AMD Threadripper 2970WX in action, a 24 core CPU that uses a NUMA arrangement, with some cores getting more direct memory access than others.

Manifold User Community Use Agreement Copyright (C) 2007-2021 Manifold Software Limited. All rights reserved.