openblas_ffi 0.1.1

FFI bindings to sequential and parallel OpenBLAS.
Documentation
                Quick installation for GotoBLAS2

***************************************************************************
***************************************************************************
**                                                                       **
**                                                                       **
**                    Just type "make" <<return>>.                       **
**                                                                       **
**           If you're not satisfied with this library,                  **
**           please read following instruction and customize it.         **
**                                                                       **
**                                                                       **
***************************************************************************
***************************************************************************


1. REALLY REALLY quick way to build library

    Type "make" or "gmake".

   $shell> make

   The script will detect Fortran compiler, number of cores and
   architecture which you're using. If default gcc binary type is
   64bit, 64 bit library will be created. Otherwise 32 bit library
   will be created.

   After finishing compile, you'll find various information about
   generated library.

 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

 GotoBLAS2 build complete.

  OS               ... Linux
  Architecture     ... x86_64
  BINARY           ... 64bit
  C compiler       ... GCC  (command line : gcc)
  Fortran compiler ... PATHSCALE  (command line : pathf90)
  Library Name     ... libgoto_barcelonap-r1.27.a (Multi threaded; Max
  num-threads is 16)

 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


2. Specifying 32bit or 64bit library

   If you need 32bit binary,

   $shell> make BINARY=32

   If you need 64bit binary,

   $shell> make BINARY=64


3. Specifying target architecture

   If you need library for different architecture, you can use TARGET
   option. You can find current available options in top of getarch.c.
   For example, if you need library for Intel core2 architecture,
   you'll find FORCE_CORE2 option in getarch.c. Therefore you can
   specify TARGET=CORE2 (get rid of FORCE_) with make.

   $shell> make TARGET=CORE2

   Also if you want GotoBLAS2 to support multiple architecture,

   $shell> make DYNAMIC_ARCH=1

   All kernel will be included in the library and dynamically switched
   the best architecutre at run time.


4. Specifying for enabling multi-threaded

   Script will detect number of cores and will enable multi threaded
   library if number of cores is more than two. If you still want to
   create single threaded library,

   $shell> make USE_THREAD=0

   Or if you need threaded library by force,

   $shell> make USE_THREAD=1


5. Specifying target OS

   Target architecture will be determined by the CC. If you
   specify cross compiler for MIPS, you can create library for
   MIPS architecture.

   $shell> make CC=mips64el-linux-gcc TARGET=SICORTEX

   Or you can specify your favorite C compiler with absolute path.

   $shell> make CC=/opt/intel/cc/32/10.0.026/bin/icc TARGET=BARCELONA

   Binary type (32bit/64bit) is determined by checking CC, you
   can control binary type with this option.

   $shell> make CC="pathcc -m32"

   In this case, 32bit library will be created.


6. Specifying Fortran compiler

   If you need to support other Fortran compiler, you can specify with
   FC option.

   $shell> make FC=gfortran


7. Other useful options

   You'll find other useful options in Makefile.rule.