[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