Skip to content

Instantly share code, notes, and snippets.

@arcolife
Last active December 5, 2017 09:22
Show Gist options
  • Save arcolife/e59df1fe47e5359133079026599ae452 to your computer and use it in GitHub Desktop.
Save arcolife/e59df1fe47e5359133079026599ae452 to your computer and use it in GitHub Desktop.
numpy backend compile steps

show info

>>> numpy.__path__
['/usr/lib64/python2.7/site-packages/numpy']

>>> import numpy; numpy.show_config()

lapack_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    define_macros = [('HAVE_CBLAS', None)]
    language = c
blas_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    define_macros = [('HAVE_CBLAS', None)]
    language = c
openblas_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    define_macros = [('HAVE_CBLAS', None)]
    language = c
blis_info:
  NOT AVAILABLE
openblas_lapack_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    define_macros = [('HAVE_CBLAS', None)]
    language = c
lapack_mkl_info:
  NOT AVAILABLE
blas_mkl_info:
  NOT AVAILABLE

site packages available versions

[root@769c56beac18 /]# ls /usr/lib64/python2.7/site-packages/numpy
numpy/                  numpy-atlas/            numpy-gsl/              numpy-openblas/         
numpy-1.13.3.dist-info/ numpy-atlas-fftw/       numpy-mkl/              numpy-openblas-haswell

Expanded:

[root@769c56beac18 /]# ls /usr/lib64/python2.7/site-packages/nump*
/usr/lib64/python2.7/site-packages/numpy:
__config__.py   __init__.pyo           _import_tools.py   add_newdocs.pyo  ctypeslib.pyo  dual.pyo  ma          numarray    setup.pyc       testing
__config__.pyc  _distributor_init.py   _import_tools.pyc  compat           distutils      f2py      matlib.py   oldnumeric  setup.pyo       tests
__config__.pyo  _distributor_init.pyc  _import_tools.pyo  core             doc            fft       matlib.pyc  polynomial  setupscons.py   version.py
__init__.py     _globals.py            add_newdocs.py     ctypeslib.py     dual.py        lib       matlib.pyo  random      setupscons.pyc  version.pyc
__init__.pyc    _globals.pyc           add_newdocs.pyc    ctypeslib.pyc    dual.pyc       linalg    matrixlib   setup.py    setupscons.pyo  version.pyo

/usr/lib64/python2.7/site-packages/numpy-1.13.3.dist-info:
DESCRIPTION.rst  INSTALLER  METADATA  RECORD  WHEEL  metadata.json  top_level.txt

/usr/lib64/python2.7/site-packages/numpy-atlas:
EGG-INFO  numpy

/usr/lib64/python2.7/site-packages/numpy-atlas-fftw:
EGG-INFO  numpy

/usr/lib64/python2.7/site-packages/numpy-gsl:
EGG-INFO  numpy

/usr/lib64/python2.7/site-packages/numpy-mkl:
EGG-INFO  numpy

/usr/lib64/python2.7/site-packages/numpy-openblas:
EGG-INFO  numpy

/usr/lib64/python2.7/site-packages/numpy-openblas-haswell:
EGG-INFO  numpy

config info for numpy

[root@769c56beac18 /]# cat /root/.numpy-site.cfg 
## MKL
#[mkl]
#libraries = iomp5
#library_dirs = /opt/intel/compilers_and_libraries_2018.0.128/linux/mkl/lib/intel64_lin/:/opt/intel/lib/intel64:/opt/intel/compilers_and_libraries_2018.0.128/linux/compiler/lib/intel64
#include_dirs = /opt/intel/compilers_and_libraries_2018.0.128/linux/mkl/include
#mkl_libs = mkl_def, mkl_intel_ilp64, mkl_intel_thread, mkl_core, mkl_rt
#lapack_libs = mkl_lapack95_lp64
#runtime_library_dirs = /opt/intel/compilers_and_libraries_2018.0.128/linux/mkl/lib/intel64_lin/:/opt/intel/lib/intel64:/opt/intel/compilers_and_libraries_2018.0.128/linux/compiler/lib/intel64

## OpenBLAS (from source)
#[openblas]
#libraries = openblas
#library_dirs = /opt/openblas/lib
#include_dirs = /opt/openblas/include
#lapack_libs = 
#runtime_library_dirs = /opt/openblas/lib

## OpenBLAS (standard RHEL package)
#[openblas]
#libraries = openblas
#library_dirs = /usr/lib64/
#include_dirs = /usr/include/openblas
#lapack_libs = 
#runtime_library_dirs = /usr/lib64/

## GNU Scientific Library (GSL) (from source)
#[DEFAULT]
#libraries = gslcblas, gsl
#library_dirs = /opt/gsl/lib
#include_dirs = /opt/gsl/include
#lapack_libs = 

## ATLAS w/ FFTW
#[atlas]
#libraries = fftw3, satlas, tatlas
#library_dirs = /usr/lib64/atlas/:/usr/lib64/
#include_dirs = /usr/include/atlas-x86_64-base/:/usr/include
#lapack_libs =

# ATLAS (no FFTW)
[atlas]
libraries = satlas, tatlas
library_dirs = /usr/lib64/atlas/
include_dirs = /usr/include/atlas-x86_64-base/
lapack_libs =