help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ATLAS for Octave-Cygwin


From: James R. Phillips
Subject: Re: ATLAS for Octave-Cygwin
Date: Thu, 9 Feb 2006 09:15:18 -0800 (PST)

--- "James R. Phillips"  wrote:

> --- Kostya Ryzhij wrote:
> 
> > Dear James,
> > sometimes ago you have asked in Octave mailing list about user experience
> > with optimized BLAS (ATLAS) library on Cygwin.
> > (http://www.octave.org/octave-lists/archive/help-octave.2005/msg03605.html)
> > There was no response, unfortunately. Currently I have installed Cygwin
> with
> > Octave 2.1.72. Afterwards I compiled
> > ATLAS and Lapack into *.dll's. The question is: how can I say to Octave to
> > use these new libraries? As it is mentioned
> > in LAPACK.README both of them are copied into \cygwin\usr\local\bin\
> > directory. However:
> > 
> > octave_config_info('BLAS_LIBS')
> > ans = -llapack -lblas
> > 
> > For me especially interesting is the use of cygptblas.dll, because I have
> > dual-Opteron workstation. The timing of Octave
> > (benchmark2 from http://www.sciviews.org) is O'k, but I see, that it uses
> > only 1 processor.
> > 
> > Thank you in advance for any suggestions
> > 
> 
> I believe that the config_info function is telling you what configuration
> options were set at compile time.  As such, this information is accurate. 
> Only
> the windows loader knows whether dynamic link references are being satisfied
> by
> dlls in c:\cygwin\usr\lib\lapack or c:\cygwin\usr\local\bin at load time.
> 
> Check to see that /usr/local/bin precedes /usr/lib/lapack in the PATH
> environmental variable seen inside cygwin.  Then check to see that your
> custom-compiled dlls are in that location, i.e., cygatlas.dll, cyglapack.dll,
> cygblas.dll.  If this is so, then you may be reasonably sure that your
> configuration is working.
> 
> As a further check, you may try timing some large floating point problems
> with
> and without the custom dll's present.  When you see a large difference in
> timing results, you know that the custom dll's are doing their job.  You may
> try the sequence
> 
> x=randn(100,1); A=randn(100,100); t=cputime();
> y=x\A; t=cputime()-t;
> disp(t);
> 
> This should be large enough to show a significant difference.
> 
> Hope this helps,
> 
> Jim Phillips
> 
> 
> 

Um, ok I see on re-reading that you mentioned the one vs two processor issue. 
This is a matter of configuring atlas properly before you do the compile.  I
believe you need to enable posix threads in order to properly support SMP.  To
make a new library, delete config.exe in the atlas source subdirectory, and
perform a "make config".  This will create a new Make.xxxxx file, where .xxxx
is the new (smp) architecture you are defining.  Then "make install arch=xxxxx"
should build the new smp atlas libraries for you.  Continue at this point with
the instructions for building the cygwin dlls and installing them in the proper 
location.



-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]