|
kusano |
2b45e8 |
Quick installation for GotoBLAS2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
***************************************************************************
|
|
kusano |
2b45e8 |
***************************************************************************
|
|
kusano |
2b45e8 |
** **
|
|
kusano |
2b45e8 |
** **
|
|
kusano |
2b45e8 |
** Just type "make" <<return>>. **</return>
|
|
kusano |
2b45e8 |
** **
|
|
kusano |
2b45e8 |
** If you're not satisfied with this library, **
|
|
kusano |
2b45e8 |
** please read following instruction and customize it. **
|
|
kusano |
2b45e8 |
** **
|
|
kusano |
2b45e8 |
** **
|
|
kusano |
2b45e8 |
***************************************************************************
|
|
kusano |
2b45e8 |
***************************************************************************
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
1. REALLY REALLY quick way to build library
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
Type "make" or "gmake".
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
$shell> make
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
The script will detect Fortran compiler, number of cores and
|
|
kusano |
2b45e8 |
architecture which you're using. If default gcc binary type is
|
|
kusano |
2b45e8 |
64bit, 64 bit library will be created. Otherwise 32 bit library
|
|
kusano |
2b45e8 |
will be created.
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
After finishing compile, you'll find various information about
|
|
kusano |
2b45e8 |
generated library.
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
GotoBLAS2 build complete.
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
OS ... Linux
|
|
kusano |
2b45e8 |
Architecture ... x86_64
|
|
kusano |
2b45e8 |
BINARY ... 64bit
|
|
kusano |
2b45e8 |
C compiler ... GCC (command line : gcc)
|
|
kusano |
2b45e8 |
Fortran compiler ... PATHSCALE (command line : pathf90)
|
|
kusano |
2b45e8 |
Library Name ... libgoto_barcelonap-r1.27.a (Multi threaded; Max
|
|
kusano |
2b45e8 |
num-threads is 16)
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
2. Specifying 32bit or 64bit library
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
If you need 32bit binary,
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
$shell> make BINARY=32
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
If you need 64bit binary,
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
$shell> make BINARY=64
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
3. Specifying target architecture
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
If you need library for different architecture, you can use TARGET
|
|
kusano |
2b45e8 |
option. You can find current available options in top of getarch.c.
|
|
kusano |
2b45e8 |
For example, if you need library for Intel core2 architecture,
|
|
kusano |
2b45e8 |
you'll find FORCE_CORE2 option in getarch.c. Therefore you can
|
|
kusano |
2b45e8 |
specify TARGET=CORE2 (get rid of FORCE_) with make.
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
$shell> make TARGET=CORE2
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
Also if you want GotoBLAS2 to support multiple architecture,
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
$shell> make DYNAMIC_ARCH=1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
All kernel will be included in the library and dynamically switched
|
|
kusano |
2b45e8 |
the best architecutre at run time.
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
4. Specifying for enabling multi-threaded
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
Script will detect number of cores and will enable multi threaded
|
|
kusano |
2b45e8 |
library if number of cores is more than two. If you still want to
|
|
kusano |
2b45e8 |
create single threaded library,
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
$shell> make USE_THREAD=0
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
Or if you need threaded library by force,
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
$shell> make USE_THREAD=1
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
5. Specifying target OS
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
Target architecture will be determined by the CC. If you
|
|
kusano |
2b45e8 |
specify cross compiler for MIPS, you can create library for
|
|
kusano |
2b45e8 |
MIPS architecture.
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
$shell> make CC=mips64el-linux-gcc TARGET=SICORTEX
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
Or you can specify your favorite C compiler with absolute path.
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
$shell> make CC=/opt/intel/cc/32/10.0.026/bin/icc TARGET=BARCELONA
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
Binary type (32bit/64bit) is determined by checking CC, you
|
|
kusano |
2b45e8 |
can control binary type with this option.
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
$shell> make CC="pathcc -m32"
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
In this case, 32bit library will be created.
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
6. Specifying Fortran compiler
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
If you need to support other Fortran compiler, you can specify with
|
|
kusano |
2b45e8 |
FC option.
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
$shell> make FC=gfortran
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
7. Other useful options
|
|
kusano |
2b45e8 |
|
|
kusano |
2b45e8 |
You'll find other useful options in Makefile.rule.
|