Thread Subject: GOTO BLAS and multiple threads

Subject: GOTO BLAS and multiple threads

From: Arne Schneck

Date: 12 Aug, 2008 17:00:35

Message: 1 of 10

Hi there,

I've been trying to use GOTO BLAS instead of the BLAS implementation that
comes with Matlab. The problem is that when I compile a C file (with mex)
that uses one of the BLAS routines from the GOTO library (dsyrk in my
case), it only uses 1 thread.

Things I've tried:
- Setting OMP_NUM_THREADS and GOTO_NUM_THREADS to 8 => GOTO BLAS still only
uses one thread when called from a C MEX file.
- When I call dsyrk from a little command-line C program (and not from a C
MEX file), it correctly uses 8 threads. (And then it's almost 3 times
faster than the standard MATLAB call A*A'!)
- Linking against mwblas => 8 threads used. Linking against goto => only 1
thread used.

Any idea how to get GOTO BLAS to use 8 threads?

Arne

Subject: GOTO BLAS and multiple threads

From: Arne Schneck

Date: 13 Aug, 2008 10:53:46

Message: 2 of 10

Arne Schneck wrote:
> I've been trying to use GOTO BLAS instead of the BLAS implementation that
> comes with Matlab. The problem is that when I compile a C file (with mex)
> that uses one of the BLAS routines from the GOTO library (dsyrk in my
> case), it only uses 1 thread.

Okay, I kind of solved the problem, but something is still messed up. In
order to uses Goto's BLAS, I just set the BLAS_VERSION environment variable
to the Goto BLAS library. This makes Matlab commands like A*A' call the
BLAS subroutine from Goto's library instead of the ACML library. And it
apparently uses (at least) 8 threads. So that solves the issue for me.

But: When I link C MEX files against libgoto, the resulting MEX file shows
pretty random behavior which completely baffles me. In one Matlab session
it uses 8 threads (don't know for sure, but at least it's fast), then I
restart Matlab and it uses only 1 thread. Although nothing was changed. On
each restart of Matlab it randomly seems to choose whether to use 1 or 8
threads!

Anyone have any idea what's going on here?

Arne

Subject: GOTO BLAS and multiple threads

From: Duncan Po

Date: 13 Aug, 2008 15:21:02

Message: 3 of 10

First, MATLAB does not control the threading in the GOTO
BLAS. MATLAB controls threading in the BLAS through the
libguide library, which is used by both Intel MKL BLAS and
AMD ACML BLAS. However, GOTO does not use this library. As a
result, you cannot control the number of threads in GOTO
BLAS through the preferences menu in MATLAB.

However, you should be able to specify the number of threads
by setting either the OMP_NUM_THREADS or GOTO_NUM_THREADS
environment variables, before you start MATLAB. I started
MATLAB with the commands below on Linux and it worked for me:

setenv GOTO_NUM_THREADS 2
matlab

The easiest way to verify whether threading works, is to set
the GOTO_NUM_THREADS variable to different settings, and
then time a matrix multiply to check whether the timing
changes according to expectation:

a = rand(2000);
tic; a*a; toc;


Let me know if the above works for you.

Duncan

Arne Schneck <arne.schneck@math.uni-karlsruhe.de> wrote in
message <g7udqa$59s$1@news2.rz.uni-karlsruhe.de>...
> Arne Schneck wrote:
> > I've been trying to use GOTO BLAS instead of the BLAS
implementation that
> > comes with Matlab. The problem is that when I compile a
C file (with mex)
> > that uses one of the BLAS routines from the GOTO library
(dsyrk in my
> > case), it only uses 1 thread.
>
> Okay, I kind of solved the problem, but something is still
messed up. In
> order to uses Goto's BLAS, I just set the BLAS_VERSION
environment variable
> to the Goto BLAS library. This makes Matlab commands like
A*A' call the
> BLAS subroutine from Goto's library instead of the ACML
library. And it
> apparently uses (at least) 8 threads. So that solves the
issue for me.
>
> But: When I link C MEX files against libgoto, the
resulting MEX file shows
> pretty random behavior which completely baffles me. In one
Matlab session
> it uses 8 threads (don't know for sure, but at least it's
fast), then I
> restart Matlab and it uses only 1 thread. Although nothing
was changed. On
> each restart of Matlab it randomly seems to choose whether
to use 1 or 8
> threads!
>
> Anyone have any idea what's going on here?
>
> Arne
>

Subject: GOTO BLAS and multiple threads

From: akshay

Date: 6 Feb, 2009 19:09:01

Message: 4 of 10

But how to compile go to blas with matlab

Arne Schneck <arne.schneck@math.uni-karlsruhe.de> wrote in message <g7udqa$59s$1@news2.rz.uni-karlsruhe.de>...
> Arne Schneck wrote:
> > I've been trying to use GOTO BLAS instead of the BLAS implementation that
> > comes with Matlab. The problem is that when I compile a C file (with mex)
> > that uses one of the BLAS routines from the GOTO library (dsyrk in my
> > case), it only uses 1 thread.
>
> Okay, I kind of solved the problem, but something is still messed up. In
> order to uses Goto's BLAS, I just set the BLAS_VERSION environment variable
> to the Goto BLAS library. This makes Matlab commands like A*A' call the
> BLAS subroutine from Goto's library instead of the ACML library. And it
> apparently uses (at least) 8 threads. So that solves the issue for me.
>
> But: When I link C MEX files against libgoto, the resulting MEX file shows
> pretty random behavior which completely baffles me. In one Matlab session
> it uses 8 threads (don't know for sure, but at least it's fast), then I
> restart Matlab and it uses only 1 thread. Although nothing was changed. On
> each restart of Matlab it randomly seems to choose whether to use 1 or 8
> threads!
>
> Anyone have any idea what's going on here?
>
> Arne
>

Subject: GOTO BLAS and multiple threads

From: akshay

Date: 23 Feb, 2009 23:46:02

Message: 5 of 10

Well i tested goto blas with 32 bit machine and i really get poor results, following is some thing i observed : also posting some reasons for this observations:

1. GOTO BLAS does not improved any performance on 32 bit machine
Well from the group i came to know that, its mainly becoz my cache memory is less...

2. I will be trying to compile GOTO BLAS on 64 bit machine with cache memory 8 times then the previous machine
:) will post results soon:

OK few questions it will be great if some one can reply

1. GOTO BLAS doesnot include FFT so it means that i cant use FFT Function in my code any more ........how can i use FFT in MATLAB programing while using GOTO BLAS
2. How much speed up is expected to increase in MATRIX-VECTOR Multiplication and Addition.
3. Is is possible to call MATLAB functions while using GOTO BLAS Library


 




"Akshay " <gulatiakshay@gmail.com> wrote in message <gmi1sd$df3$1@fred.mathworks.com>...
> But how to compile go to blas with matlab
>
> Arne Schneck <arne.schneck@math.uni-karlsruhe.de> wrote in message <g7udqa$59s$1@news2.rz.uni-karlsruhe.de>...
> > Arne Schneck wrote:
> > > I've been trying to use GOTO BLAS instead of the BLAS implementation that
> > > comes with Matlab. The problem is that when I compile a C file (with mex)
> > > that uses one of the BLAS routines from the GOTO library (dsyrk in my
> > > case), it only uses 1 thread.
> >
> > Okay, I kind of solved the problem, but something is still messed up. In
> > order to uses Goto's BLAS, I just set the BLAS_VERSION environment variable
> > to the Goto BLAS library. This makes Matlab commands like A*A' call the
> > BLAS subroutine from Goto's library instead of the ACML library. And it
> > apparently uses (at least) 8 threads. So that solves the issue for me.
> >
> > But: When I link C MEX files against libgoto, the resulting MEX file shows
> > pretty random behavior which completely baffles me. In one Matlab session
> > it uses 8 threads (don't know for sure, but at least it's fast), then I
> > restart Matlab and it uses only 1 thread. Although nothing was changed. On
> > each restart of Matlab it randomly seems to choose whether to use 1 or 8
> > threads!
> >
> > Anyone have any idea what's going on here?
> >
> > Arne
> >

Subject: GOTO BLAS and multiple threads

From: Duncan Po

Date: 24 Feb, 2009 15:24:02

Message: 6 of 10

> 1. GOTO BLAS doesnot include FFT so it means that i cant use FFT Function in my code any more ........how can i use FFT in MATLAB programing while using GOTO BLAS

In MATLAB, BLAS and FFT are separate. MATLAB uses BLAS packages for matrix operations, but uses FFTW to compute FFT. Therefore, plugging GOTO BLAS into MATLAB does not affect FFT at all. You should be able to call FFT just as usual.

> 2. How much speed up is expected to increase in MATRIX-VECTOR Multiplication and Addition.

I have not tried GOTO BLAS, so I cannot answer this question.

> 3. Is is possible to call MATLAB functions while using GOTO BLAS Library

If you plug in GOTO BLAS into MATLAB via the BLAS_VERSION environment variable, it should not affect other MATLAB functions. You should just be able to use all MATLAB functions as usual.

Subject: GOTO BLAS and multiple threads

From: akshay

Date: 24 Feb, 2009 18:45:17

Message: 7 of 10


Thanks for the reply.

1. But when i am using how can i knowr which library is being used by the matlab for Blas operation. After I changed my blas library to some other BLAS lib and i checked it in my environment variable which lib i am using. But is there any way to check this from matlab command window which blas library i am using.....I am using LINUX

2. BLAS, which stands for Basic Linear Algebra Subprogams, is a standardized application programming interface for publishing libraries to perform basic linear algebra operations. According to netlib, “BLAS are routines that provide standard building blocks for performing basic vector and matrix operations.” BLAS has three levels of routines, levels 1, 2, and 3.
Level 1 BLAS routines contain scalar, vector, and vector-vector operations, such as dot products and vector norms of the form

Level 2 BLAS routines contain matrix-vector operations of the form

Level 3 BLAS routines contain matrix-matrix operations of the form

So when i replace inbuilt blas lib with some new one will it contain all the 57 functions ........some body told me that these three level combines to give 57 functions in MATLAB and 170 subroutines.









"Duncan Po" <Duncan.Po@mathworks.com> wrote in message <go13eh$d93$1@fred.mathworks.com>...
> > 1. GOTO BLAS doesnot include FFT so it means that i cant use FFT Function in my code any more ........how can i use FFT in MATLAB programing while using GOTO BLAS
>
> In MATLAB, BLAS and FFT are separate. MATLAB uses BLAS packages for matrix operations, but uses FFTW to compute FFT. Therefore, plugging GOTO BLAS into MATLAB does not affect FFT at all. You should be able to call FFT just as usual.
>
> > 2. How much speed up is expected to increase in MATRIX-VECTOR Multiplication and Addition.
>
> I have not tried GOTO BLAS, so I cannot answer this question.
>
> > 3. Is is possible to call MATLAB functions while using GOTO BLAS Library
>
> If you plug in GOTO BLAS into MATLAB via the BLAS_VERSION environment variable, it should not affect other MATLAB functions. You should just be able to use all MATLAB functions as usual.

Subject: GOTO BLAS and multiple threads

From: akshay

Date: 24 Feb, 2009 20:50:18

Message: 8 of 10

"Duncan Po" <Duncan.Po@mathworks.com> wrote in message <go13eh$d93$1@fred.mathworks.com>...
> > 1. GOTO BLAS doesnot include FFT so it means that i cant use FFT Function in my code any more ........how can i use FFT in MATLAB programing while using GOTO BLAS
>
> In MATLAB, BLAS and FFT are separate. MATLAB uses BLAS packages for matrix operations, but uses FFTW to compute FFT. Therefore, plugging GOTO BLAS into MATLAB does not affect FFT at all. You should be able to call FFT just as usual.
>
> > 2. How much speed up is expected to increase in MATRIX-VECTOR Multiplication and Addition.
>
> I have not tried GOTO BLAS, so I cannot answer this question.
>
> > 3. Is is possible to call MATLAB functions while using GOTO BLAS Library
>
> If you plug in GOTO BLAS into MATLAB via the BLAS_VERSION environment variable, it should not affect other MATLAB functions. You should just be able to use all MATLAB functions as usual.




------------------------------------------------------------------------------------------------------------------
Well I find a way to check which library i am using......After i replace inbuilt library with goto blas on checking by version -modules i am getting some thing like this



version -modules
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libut.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwfl.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmx.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwmpath.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwservices.so 7.7.0.471 (Sep 17 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwjmi.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwbridge.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwmcr.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwm_dispatcher.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwm_interpreter.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6
/lib64/libm.so.6
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../sys/os/glnxa64/libgcc_s.so.1
/lib64/libpthread.so.0
/lib64/libc.so.6
/lib64/librt.so.1
/lib64/libdl.so.2
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libexpat.so.1
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libicudata.so.36
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libicuuc.so.36
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libicui18n.so.36
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libicuio.so.36
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libboost_thread-gcc41-mt-1_34_1.so.1.34.1
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libboost_signals-gcc41-mt-1_34_1.so.1.34.1
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libz.so.1
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libboost_filesystem-gcc41-mt-1_34_1.so.1.34.1
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmathutil.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmlutil.so 7.7.0.259 (Aug 4 2008)
/usr/lib64/libncurses.so.5
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwiqm.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmex.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwm_parser.so 7.7.0.457 (Sep 6 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwudd.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmat.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmlint.so 7.7.0.372 (Aug 15 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmtok.so 7.7.0.430 (Aug 29 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmcos.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwgui.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwhg.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libuij.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwudd_mi.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwuinone.so 7.7.0.403 (Aug 21 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwm_ir.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwuix.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwdatasvcs.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libxerces-c.so.27
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwprofiler.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmathrng.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmlib.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwm_pcodeio.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwm_pcodegen.so 7.7.0.450 (Sep 2 2008)
/lib64/ld-linux-x86-64.so.2
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwir_xfmr.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libhdf5.so.0
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwhardcopy.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmathlinalg.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../sys/os/glnxa64/libXm.so.3
/usr/lib64/libXext.so.6
/usr/lib64/libXt.so.6
/usr/lib64/libX11.so.6
/usr/lib64/libXpm.so.4
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwxmlcore.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmathelem.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmathcore.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwblas.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwlapack.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwamd.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwcholmod.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwcolamd.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwcsparse.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwma57.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwrookfastbp.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwumfpack.so
/usr/lib64/libXmu.so.6
/usr/lib64/libSM.so.6
/usr/lib64/libICE.so.6
/usr/lib64/libXp.so.6
/usr/lib64/libXau.so.6
/usr/lib64/libXdmcp.so.6
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwbinder.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../sys/os/glnxa64/libgfortran.so.1
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libgoto_prescottp-r1.26.so
/lib64/libnss_files.so.2
/lib64/libnss_nis.so.2
/lib64/libnsl.so.1
/usr/lib64/libXcursor.so.1
/usr/lib64/libXrender.so.1
/usr/lib64/libXfixes.so.3
/usr/lib64/libXinerama.so
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libjava.so
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libverify.so
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/native_threads/libhpi.so
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libzip.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativejava.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativejmi.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativeservices.so
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libawt.so
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/xawt/libmawt.so
/usr/lib64/libXtst.so.6
/usr/lib64/libXi.so.6
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libfontmanager.so
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libnet.so
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libnio.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativelmgr.so
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libjpeg.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/libinstutil.so 7.7.0.259 (Aug 4 2008)
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libcmm.so
/disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libdcpr.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativelex.so
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativecmdwin.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/libmwbuiltins.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/libmwhgbuiltins.so 7.7.0.450 (Sep 2 2008)
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwhgdatatypes.so



GILGAMESH IS THE CLUSTER I AM USING HERE, SO I CAN SEE MY GOTO BLAS LIBRARY OVER HERE...

/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../sys/os/glnxa64/libgfortran.so.1
/disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libgoto_prescottp-r1.26.so

so is it make sure that i am using goto blas instead of regular blas version

Thanks

AKi

Subject: GOTO BLAS and multiple threads

From: akshay

Date: 24 Feb, 2009 21:25:20

Message: 9 of 10

"Akshay " <gulatiakshay@gmail.com> wrote in message
<go1mia$m73$1@fred.mathworks.com>...
> "Duncan Po" <Duncan.Po@mathworks.com> wrote in message <go13eh$d93$1@fred.mathworks.com>...
> > > 1. GOTO BLAS doesnot include FFT so it means that i cant use FFT Function in my code any more ........how can i use FFT in MATLAB programing while using GOTO BLAS
> >
> > In MATLAB, BLAS and FFT are separate. MATLAB uses BLAS packages for matrix operations, but uses FFTW to compute FFT. Therefore, plugging GOTO BLAS into MATLAB does not affect FFT at all. You should be able to call FFT just as usual.
> >
> > > 2. How much speed up is expected to increase in MATRIX-VECTOR Multiplication and Addition.
> >
> > I have not tried GOTO BLAS, so I cannot answer this question.
> >
> > > 3. Is is possible to call MATLAB functions while using GOTO BLAS Library
> >
> > If you plug in GOTO BLAS into MATLAB via the BLAS_VERSION environment variable, it should not affect other MATLAB functions. You should just be able to use all MATLAB functions as usual.
>
>
>
>
> ------------------------------------------------------------------------------------------------------------------
> Well I find a way to check which library i am using......After i replace inbuilt library with goto blas on checking by version -modules i am getting some thing like this
>
>
>
> version -modules
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libut.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwfl.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmx.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwmpath.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwservices.so 7.7.0.471 (Sep 17 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwjmi.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwbridge.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwmcr.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwm_dispatcher.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwm_interpreter.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6
> /lib64/libm.so.6
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../sys/os/glnxa64/libgcc_s.so.1
> /lib64/libpthread.so.0
> /lib64/libc.so.6
> /lib64/librt.so.1
> /lib64/libdl.so.2
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libexpat.so.1
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libicudata.so.36
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libicuuc.so.36
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libicui18n.so.36
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libicuio.so.36
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libboost_thread-gcc41-mt-1_34_1.so.1.34.1
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libboost_signals-gcc41-mt-1_34_1.so.1.34.1
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libz.so.1
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libboost_filesystem-gcc41-mt-1_34_1.so.1.34.1
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmathutil.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmlutil.so 7.7.0.259 (Aug 4 2008)
> /usr/lib64/libncurses.so.5
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwiqm.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmex.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwm_parser.so 7.7.0.457 (Sep 6 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwudd.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmat.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmlint.so 7.7.0.372 (Aug 15 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmtok.so 7.7.0.430 (Aug 29 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmcos.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwgui.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwhg.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libuij.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwudd_mi.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwuinone.so 7.7.0.403 (Aug 21 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwm_ir.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwuix.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwdatasvcs.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libxerces-c.so.27
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwprofiler.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmathrng.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmlib.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwm_pcodeio.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwm_pcodegen.so 7.7.0.450 (Sep 2 2008)
> /lib64/ld-linux-x86-64.so.2
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwir_xfmr.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libhdf5.so.0
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwhardcopy.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmathlinalg.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../sys/os/glnxa64/libXm.so.3
> /usr/lib64/libXext.so.6
> /usr/lib64/libXt.so.6
> /usr/lib64/libX11.so.6
> /usr/lib64/libXpm.so.4
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwxmlcore.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmathelem.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwmathcore.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwblas.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwlapack.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwamd.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwcholmod.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwcolamd.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwcsparse.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwma57.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwrookfastbp.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwumfpack.so
> /usr/lib64/libXmu.so.6
> /usr/lib64/libSM.so.6
> /usr/lib64/libICE.so.6
> /usr/lib64/libXp.so.6
> /usr/lib64/libXau.so.6
> /usr/lib64/libXdmcp.so.6
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libmwbinder.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../sys/os/glnxa64/libgfortran.so.1
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libgoto_prescottp-r1.26.so
> /lib64/libnss_files.so.2
> /lib64/libnss_nis.so.2
> /lib64/libnsl.so.1
> /usr/lib64/libXcursor.so.1
> /usr/lib64/libXrender.so.1
> /usr/lib64/libXfixes.so.3
> /usr/lib64/libXinerama.so
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libjava.so
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libverify.so
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/native_threads/libhpi.so
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libzip.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativejava.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativejmi.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativeservices.so
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libawt.so
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/xawt/libmawt.so
> /usr/lib64/libXtst.so.6
> /usr/lib64/libXi.so.6
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libfontmanager.so
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libnet.so
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libnio.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativelmgr.so
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libjpeg.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/libinstutil.so 7.7.0.259 (Aug 4 2008)
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libcmm.so
> /disk/gilgamesh1/software/llmatlab/sys/java/jre/glnxa64/jre/lib/amd64/libdcpr.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativelex.so
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/libnativecmdwin.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/libmwbuiltins.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/libmwhgbuiltins.so 7.7.0.450 (Sep 2 2008)
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/libmwhgdatatypes.so
>
>
>
> GILGAMESH IS THE CLUSTER I AM USING HERE, SO I CAN SEE MY GOTO BLAS LIBRARY OVER HERE...
>
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/../../sys/os/glnxa64/libgfortran.so.1
> /disk/gilgamesh1/software/llmatlab/bin/glnxa64/../../bin/glnxa64/../../bin/glnxa64/libgoto_prescottp-r1.26.so
>
> so is it make sure that i am using goto blas instead of regular blas version
>
> Thanks
>
> AKi

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

Hey sorry forget to point out one more thing, I cant find libguide when i change my blas .....so i think i should be sure that my blas lib is changed..

Although i am not getting any performance enhancement........

Subject: GOTO BLAS and multiple threads

From: Duncan Po

Date: 25 Feb, 2009 00:39:02

Message: 10 of 10

Most references point to Goto BLAS may be slightly faster than Intel MKL, which is the default choice of MATLAB. You should expect you may be able to get some speedup, but not that much.

For instance, here is a comparison:
http://www.google.com/url?sa=U&start=1&q=http://www.lr.tudelft.nl/live/pagina.jsp%3Fid%3D608b3015-5195-438a-90fc-c30c2252a066%26lang%3Den%26binary%3D/doc/blas_lapack.pdf&ei=mJKkSYK6J5W6twff_7HMBA&usg=AFQjCNFyz_skF2zrp8kZrUXJVN4NnHOo5A

Looking forward to see your results.

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
blas guj 24 Feb, 2009 13:50:05
fourier transform guj 23 Feb, 2009 18:50:19
fft guj 23 Feb, 2009 18:50:19
goto blas guj 23 Feb, 2009 18:50:19
rssFeed for this Thread
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com