Quick installation for GotoBLAS2 *************************************************************************** *************************************************************************** ** ** ** ** ** Just type "make" <>. ** ** ** ** 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.