[Eeglablist] Fixing ICA under Linux Matlab 64-bit

Arnaud Delorme arno at sccn.ucsd.edu
Thu Dec 7 11:35:43 PST 2006


Dear All,

below is a solution to fix the rank function under some processors 
running Matlab 64-bit under Linux. We though it might be of some 
interest to the readers of the list:

This is what the problem is

From: 	Dörte Spring <doerte.kuhlicke at nat.uni-magdeburg.de>

I thought it might interest you as well, and after you worked so hard to 
solve the problem with ICA on our DELLs it is more as fair to let you 
know what the final cause for all this was.
After isolating a malfunctioning matlab function (rank.m), I addressed 
Mathwork with that problem. It took us till now to figure out why the 
rank output on the DELLs was 7 instead of 128. One libary file in matlab 
(libmkl.so) pretended our XEON processors to be an AMD instead. This 
finally interfered/confused the matlab rank.m function. By using a new 
BLAS_VERSION (libacml.so) suddenly the rank output on the DELLs was 128 
as well. Then the ICA run without any problems finally.
Thus, there was nothing wrong in EEGLab or specifically the 
pop_runica.m. 

-----------------------------

Other solution by Henrik Ormåsen

I think the problem isn't that Matlab recognizes Xeon64 as AMD64, but
rather that it doesn't, or at least not properly enough.

My solution was to change the "GenuineIntel Family" line in
bin/glnxa64/blas.spec file, so it loads the amd libs (just copying
"Model..." from the "AuthenticAMD Family" line and putting it in the
Intel line.

At least this solved it on our 2 computers with Xeon (one with 2x
2core processors, and another with 2 older single core processors).

Maybe Doerte had an older Matlab version (with an older libacml.so
file) so downloading a newer version was required.

Henrik Ormåsen
IT analyselab, Psykologi




More information about the eeglablist mailing list