Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: 64bits and memory problem
Replies: 18   Last Post: Oct 2, 2013 5:39 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
James

Posts: 3
Registered: 1/11/10
Re: 64bits and memory problem
Posted: Jan 11, 2010 8:15 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"Shiguo " <jiangshiguo@gmail.com> wrote in message <he4f39$c64$1@fred.mathworks.com>...
> When I was using svmtrain in libsvm. I got this same problem. I write the software author (Chih-Jen Lin), he said that we need to modify make.m, add -largeArrayDims on 64-bit machines. So we need:
>
> mex -O -largeArrayDims ...
>
> now the make file is like this:
>
> mex -O -largeArrayDims -c svm.cpp
> mex -O -largeArrayDims -c svm_model_matlab.c
> mex -O -largeArrayDims svmtrain.c svm.obj svm_model_matlab.obj
> mex -O -largeArrayDims svmpredict.c svm.obj svm_model_matlab.obj
> mex -O -largeArrayDims libsvmread.c
> mex -O -largeArrayDims libsvmwrite.c
>
> It fixed the problem. Enjoy~
>
> P.S., the following FAQ says about the x64 compiler when installing visual studio c.
>
> Q: On 64bit Windows I compile the MATLAB interface without problem, but why errors occur while running it?
>
> If you use Microsoft Visual Studio, probabally it is not properly installed. See the explanation here.
> http://www.mathworks.com/support/compilers/R2009b/win64.html;jsessionid=Ls87LF1JH1RnLp18kQdqtzvQGvw29Q4w26dJJn9JpzwZxCGNN7T4!-1681277526#n7


I was originally getting this error:
"Function "mxGetIr_700" is obsolete in file "compat32.cpp", line 246.
(64-bit mex files using sparse matrices must be rebuilt with the "-largeArrayDims" option. ...)"

But I've still got this problem, even when I compile my GibbsSamplerAT.cpp file with the -largeArrayDims flag.

GibbsSamplerAT.cpp: In function &#8216;void mexFunction(int, mxArray**, int, const mxArray**)&#8217;:
GibbsSamplerAT.cpp:265: error: cannot convert &#8216;mwIndex*&#8217; to &#8216;int*&#8217; in assignment
GibbsSamplerAT.cpp:266: error: cannot convert &#8216;mwIndex*&#8217; to &#8216;int*&#8217; in assignment
GibbsSamplerAT.cpp:385: error: cannot convert &#8216;mwIndex*&#8217; to &#8216;int*&#8217; in assignment
GibbsSamplerAT.cpp:386: error: cannot convert &#8216;mwIndex*&#8217; to &#8216;int*&#8217; in assignment
GibbsSamplerAT.cpp:417: error: cannot convert &#8216;mwIndex*&#8217; to &#8216;int*&#8217; in assignment
GibbsSamplerAT.cpp:418: error: cannot convert &#8216;mwIndex*&#8217; to &#8216;int*&#8217; in assignment

Here are lines 265 and 266:
irad = mxGetIr(prhs[2]);
jcad = mxGetJc(prhs[2]);

, where 'irad' and 'jcad' are defined as *int. I tried casting them to mwIndex*, but got further errors.

Someone at this link http://www.stanford.edu/~dgleich/programs/matlab_bgl/faq.html said to "update to Matlab BGL 2.1 which includes precompiled files for 64-bit linux with support for largeArrayDims included". I have no idea how to do this. I downloaded the BGL, but I have no idea how to install it.

I'm totally stumped. Any help much appreciated.



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.