A user I work with ran out of memory running 3dDeconvolve, getting these messages:
----------------------------
** FATAL ERROR: Total shared memory needed = 2355888128 >= 2147483648 (2 GB)
** SUGGESTION 1: Use 3dAutobox to automatically eliminate non-brain
areas from the 3d+time input dataset and reduce memory
requirements, e.g.
3dAutobox -prefix Subj1AllRuns_Smaller -input Subj1AllRuns
Then run 3dDeconvolve again with the smaller 3d+time input dataset
** SUGGESTION 2: Use 3dZcutup to slice dataset into smaller pieces
** and then 3dZcat to glue results back together.
** SUGGESTION 3: Run on a 64-bit computer system, instead of 32-bit.
holla!
----------------------------
I assume the suggestion of using a 64-bit OS means that it's not enough to have > 2 GB memory available, but rather that it needs to be one contiguous address space or something? The error msg was generated on a 32-bit SunOs 5.9 system with much more than 2 GB virtual memory.
If the answer is that this cannot be done on a 32-bit OS, what kind of swap space is OK on my 64-bit Linux box? If I create swap space with mkswap, do I have to make a single chunk with as much space as he needs? Or does it not matter how it's divided up?