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 08:44:50 -0800 (PST)

--- 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




-------------------------------------------------------------
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]