[Eeglablist] Memory and MATLAB "pack" command
Tommaso Fadini
t.fadini at med.uni-goettingen.de
Thu May 10 02:54:06 PDT 2007
Dear Arno and Andreas,
thank you for your answers and hints.
I firstly thought to manage the files simply implementing my swap
space under linux, but it seems to me to be a non sense (the problem
of managing Gb of data remains).
I like very much the proposed solutions number 2 and 3 (see below)
and I am going to try them to find out which suits best my needs.
Optimizing the reading routines would be an exciting challenge...
By the way, I got yesterday with eeglab6.01b a (one time)
segmentation error (see https://sccn.ucsd.edu/eeglab/bugzilla/
show_bug.cgi?id=59 I haven't used the patch and the error didn't
show a second time).
Greetings
Tommaso
On May 9, 2007, at 7:35 PM, arno wrote:
> Dear Tommaso,
>
> using the "pack" command will not help much. "pack" simply
> defragment Matlab memory but does not increase it. Usually, not
> being able to read data has two causes: your recording sampling
> rate is high and the files are "very" big or the loading routines
> are not optimized enough and use too much memory. Here are some
> workaround to read your files.
> 1) close all existing programs before running Matlab or buy more
> memory (Matlab supports up to 16 Gb of Ram under 64-bit opterons).
>
> 2) read portion of continuous or epoch files, resample them, then
> concatenate them using menu "Edit > Merge datasets". We will update
> the merge command to be able to merge files "on disk" and delete
> the existing datasets in memory. This way, it is sure that you will
> have enough memory to merge any number of datasets (although you
> might not have enough memory to reload the merged file!).
>
> 3) read a few channels at a time, then resample your data, and when
> you are done fuse the files. For instance after reading the first
> channels into dataset 1 and the rest into dataset 2, to fuse them
> on the command line using type:
>
> EEG = ALLEEG(2);
> EEG.data(end+1: end+ALLEEG(1).nchan,:) = ALLEEG(1).data;
> if ~isempty(EEG.chanlocs)
> EEG.chanlocs(end+1: end+ALLEEG(1).nchan) = ALLEEG(1).chanlocs;
> end;
> EEG = eeg_checkset(EEG);
> [ALLEEG EEG CURRENTSET] = eeg_store(ALLEEG, EEG);
> eeglab redraw;
>
> 4) optimize the reading routines to minimize memory usage (and send
> them back to us please!).
>
> Arno
>
> Tommaso Fadini wrote:
>> Hello to all eeglablist members,
>> I write to you about the problem which some of you have already
>> posted: not enough memory to load files.
>>
>> I would like to ask if someone knows if it is possible to use the
>> "pack" command (or some other one while running EEGLAB) with
>> EEGLAB 6.01b to write the loaded file to disk under linux
>> (http:// www.mathworks.com/support/tech-notes/1100/1106.html).
>>
>> Using Matlab, the swap space under linux is managed automatically
>> or there is a way to handle it?
>>
>
More information about the eeglablist
mailing list