[Chimera-users] split-map memory use

Tom Goddard goddard at cgl.ucsf.edu
Fri Feb 8 10:45:51 PST 2008

Hi Christos,

  I optimized the memory use of split map about 3 weeks ago.  You can 
try this improved version by downloading the current Chimera daily build:


Still it will need to allocate a full map for each color and that can 
use a great deal of memory.  If your map is 1 Gbyte and you have several 
colors it will not work with a 32-bit version of Chimera.  Although you 
have 4 Gbytes of memory, some is used by the shared libraries, operating 
system, stack, Chimera code, and data.  You will be lucky to get 2 
Gbytes of data in memory before you run out of address space (32-bit = 4 
Gbytes).  There simply will be no large enough chunk of the 32-bit 
address space to put a copy of the map in.  To use more than about 2 
Gbyte of data in memory you have to use a 64-bit version of Chimera.  
One is available for Linux.


Tom Goddard wrote:
> Hi Thomas,
>  The error you got using the Chimera split map command "MemoryError" 
> means your machine didn't have enough memory.  The split map code is 
> quite inefficient, allocating 3 * (number of grid points) floats and 
> that allocation failed for you.  I've optimized that code a little so 
> for maps larger than 16 Mvoxels it works plane by plane avoiding that 
> big allocation.  You still may run out of memory because each color 
> becomes a new full-size map in memory.  If you have many colors that 
> can be a lot of memory.
>  The optimized code will be in tonight's Chimera builds (if they 
> succeed):
>    http://www.cgl.ucsf.edu/chimera/alpha-downloads.html
>  Tom

More information about the Chimera-users mailing list