Initial condition multi-thread issue #263
Replies: 3 comments 2 replies
|
The scalability doesn't behave well because, as you've spotted, only a fraction of the calculation is done using multiple threads. If you check the JOSS paper (https://arxiv.org/pdf/2010.15121.pdf), you will see the timing (for running a full lightcone, i.e. initial condition + other calculations) becomes even longer (w.r.t. single thread) when using >48 threads. |
1 reply
|
Yes, regardless of memory, using too many threads will slow things down.
You don't really get much of a speedup after NTHREADS~4, unfortunately
(though this might be somewhat system dependent).
…On Tue, Nov 16, 2021 at 5:46 AM Chenxi Shan ***@***.***> wrote:
Okay, now I see that. Does this mean that it is recommended to use less
than 48 threads when possible? I am using a shared-memory cluster, no
worries on the core count to memory ratio.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<https://urldefense.com/v3/__https://github.com/21cmfast/21cmFAST/discussions/263*discussioncomment-1651196__;Iw!!IKRxdwAv5BmarQ!JETHQecFB3dMbQRGFOa3Ap23Nv2cXeYweT-K_Ez5FVI6T8_t3ZceoAieOuPrIg_5e5_-$>,
or unsubscribe
<https://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AAJWRXU7V3PZAYHUUCE5WCLUMJHCLANCNFSM5IEANNGQ__;!!IKRxdwAv5BmarQ!JETHQecFB3dMbQRGFOa3Ap23Nv2cXeYweT-K_Ez5FVI6T8_t3ZceoAieOuPrIrQfp5sV$>
.
|
0 replies
Answer selected by
ChenxiSSS
|
I have done a quick threading test with a small box with the same parameters besides thread number. It does seem that on my system, the IC run time is declining although not scaling well, and the coeval run time fluctuates.
|
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi! I am just recently started to use 21cmFAST. I am noticing that only one thread was used for the majority of the time when generating the initial condition. Is this behavior expected, or did I set anything wrong?
Treads info:
200 Threadsto myHII_DIM = 2048BOX_LEN = 1600test run20 Threadsto myHII_DIM = 1024BOX_LEN = 1600test run20 Threadsto myHII_DIM = 512BOX_LEN = 1600test runThey all behave in a similar way. Using multiple threads for some short period of time and using a single thread most of the time.
All reactions