On Thursday, September 08, 2011 14:14:49 you wrote:
> We are trying to use your Melodic ICA package to analyze resting state
> data. We have 16 subjects, and each subject has 19 sessions of ~7 minutes
> of scan time. We're trying to do the concat ICA approach, and my computer
> isn't able to get through the computation. The computer throws a
> bad_alloc error when it tries to do this. We were trying to figure out
> how this is happening. After watching the built-in system monitor in
> Ubuntu 11.04, I can see that one core of the processor is stressed for the
> first part of the computation, but then it switches to where the processor
> isn't being stressed, but the memory is maxed (but not the swap). Is this
> something in how the data is being compiled, or do we not have enough
> memory or processing power (8GB ram with a 2.73 GHz intel i7 quad-core)?
> Also, we have access to a computing cluster so we were wondering, if the
> problem is in the compiling, could we some how parallelize the processing?
> We appreciate any help that you might be able to provide.
See previous recent messages on the subject of "formula for MELODIC memory
requirements". The std::bad_alloc error is definitely a memory problem and not
due to any CPU limitation. I think the most memory intensive step for you will
be the PCA step. Are you getting the std::bad_alloc soon after "Starting
PCA..." and before any other output? How much space does your data take up on
disk, uncompressed (i.e. the sum of the sizes of all the *.nii files)? It
seems the amount of virtual memory you need is linearly commensurate with the
amount of space your data takes up on disk -- if your data takes up 10 GB, for
example, then it would be a good idea to have 10 GB of memory on hand.
FYI, it sounds like you are using the top command to profile melodic. Consider
using the free command, which will show you how much memory is truly free
after kernel buffers have been removed from the equation.
Good luck,
Benjamin
|