Is there a systematic way of finding out how much memory is needed?


Click here for full thread
Clicked A Few Times
Hi Bert!

Thanks for your post, but I still have a question about the ARMCI_DEFAULT_SHMMAX.

Suppose I use 2 nodes with 16 cores each node, each core has 4GB memory, and I specify:
memory heap 100 mb stack 400 mb global 3200 mb

that is to say, I use 3200MB*16=51200MB global memory each node.
If I set
setenv ARMCI_DEFAULT_SHMMAX 51200

comes out this warning:
incorrect ARMCI_DEFAULT_SHMMAX should be <1,8192>mb and 2^N Found=51200
incorrect ARMCI_DEFAULT_SHMMAX should be <1,8192>mb and 2^N Found=51200

Do you know what's the problem is?

Thank you!



Quote:Bert Nov 14th 1:20 pm
Let start with the beginning:

E. What about those pesky "ARMCI DASSERT fail" errors and ARMCI_DEFAULT_SHMMAX. On certain architectures ARMCI_DEFAULT_SHMMAX needs to be set to generate one big block of global memory per node (i.e. combine all the global memory pieces of each processor on a node into one big block) for faster access. Generally ARMCI_DEFAULT_SHMMAX should be set to <amount of global memory per process> times <# of processors used by calculation on node>. By the latter I mean the number of processors you are actually using. If you only use 4 on a node, the multiplier is only 4.

Hope this helps,

Bert