I tried running a code xcorupc_alaska compiled on Berkeley UPC
upcrun -n 3 -shared-heap=18GB xcorupc_alaska inputpgas0.txt
Total memory on my computer is 64 GB and I want to allot 18 GB to 3 CPUs (it is a quad-core processor), so it should be doable (usage 18x3=54 GB). However I get this error.
UPC Runtime error: out-of-range size for UPC_SHARED_HEAP_SIZE: 18 GB
NOTICE: Before reporting bugs, run with GASNET_BACKTRACE=1 in the environment to generate a backtrace.
UPC Runtime error: out-of-range size for UPC_SHARED_HEAP_SIZE: 18 GB
NOTICE: Before reporting bugs, run with GASNET_BACKTRACE=1 in the environment to generate a backtrace.
UPC Runtime error: out-of-range size for UPC_SHARED_HEAP_SIZE: 18 GB
NOTICE: Before reporting bugs, run with GASNET_BACKTRACE=1 in the environment to generate a backtrace.
Any idea on what is causing this error and how to fix it ? Thanks for your help.
EDIT: Even for 64 bit system, default maximum shared memory per thread is 16 GB. According to information in INSTALL.TXT, I recompiled with the flag --with-sptr-packed-bits=20,9,35. This limits the maximum number of possible threads to 2^9, but allows 2^16=32 GB maximum shared memory per thread. This solved my problem.