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


Click here for full thread
Forum Vet
Yes, the code right now has some internal limits. Henc,e you cannot set it to more than 8000 mb, mainly because this was based on fewer cores per node. I'll look at having this updated and tested.

I would have to suggest you do not set the stack that small if you want to run coupled cluster caculations, it will be more expensive as you are forced to use smaller blocks.

Bert


Quote:Psd Nov 16th 8:54 am
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