Date: Fri, 11 Mar 2022 22:34:56 +0000 From: bugzilla-noreply@freebsd.org To: python@FreeBSD.org Subject: [Bug 257400] science/py-scipy Add OPTION for Atlas blas Message-ID: <bug-257400-21822-8rsAsTrySy@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-257400-21822@https.bugs.freebsd.org/bugzilla/> References: <bug-257400-21822@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D257400 alt2600@icloud.com changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #229421|0 |1 is obsolete| | --- Comment #11 from alt2600@icloud.com --- Created attachment 232395 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D232395&action= =3Dedit git-diff-py-scipy-atlas-rev3.diff with the 1.8.0 py-scipy release it has become trivially easy to support multiple BLAS libraries, no more janky hacks adapted from py-numpy are necessary. As I have heard no feedback in months on if this patch will be accepted or not this will be the last time I update it for new versions of py-scipy. At this point I'll just make it work for myself as need arises, a= nd if anyone else wants it this diff will show the basics, but essentially it = just takes a single radio that either uses blaslapack:atlas, for atlas, or uses = the lib depends on blas and openblas for openblas. In principal this should work with netlib, but it you have atlas it will be chosen over netlib so I didnt implement, but uses blaslapack should make it work fine if you do not have openblas nor atlas installed. I kept OPENBLAS the default, despite it being conflicting and not the default blas library for ports, as that is what it = is now. for those looking in the future you can enable options like this delete the LIB_DEPENDS line referencing blas and openblas and add this or j= ust add blaslapack:atlas to the USES line after deleting the LIB_DEPENDS line a= nd its ATLAS only for you. OPTIONS_DEFAULT=3D OPENBLAS OPTIONS_SINGLE=3D BLASLIB OPTIONS_SINGLE_BLASLIB=3D ATLAS OPENBLAS ATLAS_USES=3D blaslapack:atlas OPENBLAS_LIB_DEPENDS=3D libblas.so:math/blas \ libopenblas.so:math/openblas tweak your default if you want or make sure to use OPTION_SET and OPTION_UN= SET using ports.conf if using portconf =3D=3D OPENBLAS OPTION configure snippet lapack_opt_info: lapack_mkl_info: customize UnixCCompiler C compiler: cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -fPIC creating /tmp/tmpnwlzq1iw/tmp creating /tmp/tmpnwlzq1iw/tmp/tmpnwlzq1iw compile options: '-MMD -MF /tmp/tmpnwlzq1iw/file.c.d -c' cc: /tmp/tmpnwlzq1iw/file.c libraries mkl_rt not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE openblas_lapack_info: C compiler: cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -fPIC creating /tmp/tmpavviamb0/tmp creating /tmp/tmpavviamb0/tmp/tmpavviamb0 compile options: '-c' cc: /tmp/tmpavviamb0/source.c cc /tmp/tmpavviamb0/tmp/tmpavviamb0/source.o -L/usr/local/lib -L/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../ -lopenblas -lgfortran -o /tmp/tmpavviamb0/a.out FOUND: libraries =3D ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs =3D ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language =3D c define_macros =3D [('HAVE_CBLAS', None)] FOUND: libraries =3D ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs =3D ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language =3D c define_macros =3D [('HAVE_CBLAS', None)] blas_opt_info: blas_mkl_info: libraries mkl_rt not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE blis_info: libraries blis not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE openblas_info: C compiler: cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -fPIC creating /tmp/tmpofuclsmh/tmp creating /tmp/tmpofuclsmh/tmp/tmpofuclsmh compile options: '-c' cc: /tmp/tmpofuclsmh/source.c cc /tmp/tmpofuclsmh/tmp/tmpofuclsmh/source.o -L/usr/local/lib -L/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../ -lopenblas -lgfortran -o /tmp/tmpofuclsmh/a.out FOUND: libraries =3D ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs =3D ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language =3D c define_macros =3D [('HAVE_CBLAS', None)] FOUND: libraries =3D ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs =3D ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language =3D c define_macros =3D [('HAVE_CBLAS', None)] non-existing path in 'scipy/signal/windows': 'tests' non-existing path in 'scipy/sparse': 'sparsetools/sparsetools_impl.h' non-existing path in 'scipy/sparse': 'sparsetools/bsr_impl.h' non-existing path in 'scipy/sparse': 'sparsetools/csc_impl.h' non-existing path in 'scipy/sparse': 'sparsetools/csr_impl.h' non-existing path in 'scipy/sparse': 'sparsetools/other_impl.h' [makenpz] scipy/special/tests/data/boost.npz not rebuilt [makenpz] scipy/special/tests/data/gsl.npz not rebuilt [makenpz] scipy/special/tests/data/local.npz not rebuilt running config =3D=3D=3DOPENBLAS OPTION check-orphans =3D=3D=3D=3D> Checking for pkg-plist issues (check-plist) =3D=3D=3D> Parsing plist =3D=3D=3D> Checking for items in STAGEDIR missing from pkg-plist =3D=3D=3D> Checking for items in pkg-plist which are not in STAGEDIR =3D=3D=3D> No pkg-plist issues found (check-plist) =3D=3D=3DOPENBLAS OPTION pkg info -d py38-scipy-1.8.0 Depends on : py38-numpy-1.20.3,1 openblas-0.3.18,1 blas-3.10.0 python38-3.8.12_2 gcc10-10.3.0 py38-setuptools-57.0.0 =3D=3D=3DATLAS OPTION configure snippet lapack_opt_info: lapack_mkl_info: customize UnixCCompiler C compiler: cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -fPIC creating /tmp/tmppkk1xmzc/tmp creating /tmp/tmppkk1xmzc/tmp/tmppkk1xmzc compile options: '-MMD -MF /tmp/tmppkk1xmzc/file.c.d -c' cc: /tmp/tmppkk1xmzc/file.c libraries mkl_rt not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE openblas_lapack_info: libraries openblas not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE openblas_clapack_info: libraries openblas,lapack not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE flame_info: libraries flame not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE atlas_3_10_threads_info: Setting PTATLAS=3DATLAS libraries lapack_atlas not found in /usr/lib libraries ptf77blas,ptcblas not found in /usr/lib libraries lapack_atlas not found in /usr/local/lib <class 'numpy.distutils.system_info.atlas_3_10_threads_info'> Setting PTATLAS=3DATLAS get_default_fcompiler: matching types: '['gnu', 'gnu95']' customize GnuFCompiler Found executable /usr/local/bin/gfortran10 gnu: no Fortran 90 compiler found Could not locate executable cc -shared Found executable /usr/local/bin/ld Found executable /usr/local/bin/ar Found executable /usr/local/bin/ranlib gnu: no Fortran 90 compiler found customize Gnu95FCompiler customize Gnu95FCompiler customize Gnu95FCompiler using config compiling '_configtest.c': /* This file is generated from numpy/distutils/system_info.py */ void ATL_buildinfo(void); int main(void) { ATL_buildinfo(); return 0; } C compiler: cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -fPIC compile options: '-c' cc: _configtest.c cc _configtest.o -L/usr/local/lib -lptf77blas -lptcblas -o _configtest ld: error: undefined symbol: ATL_buildinfo >>> referenced by _configtest.c >>> _configtest.o:(main) cc: error: linker command failed with exit code 1 (use -v to see invocation) failure. removing: _configtest.c _configtest.o _configtest.o.d Status: 255 Output: compiling '_configtest.c': /* This file is generated from numpy/distutils/system_info.py */ void ATL_buildinfo(void); int main(void) { ATL_buildinfo(); return 0; } C compiler: cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -fPIC compile options: '-c' cc: _configtest.c cc _configtest.o -L/usr/local/lib -lptf77blas -lptcblas -o _configtest Setting PTATLAS=3DATLAS Setting PTATLAS=3DATLAS Setting PTATLAS=3DATLAS libraries tatlas not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] Library tatlas was not found. Ignoring FOUND: include_dirs =3D ['/usr/local/include'] language =3D f77 libraries =3D ['alapack', 'ptf77blas', 'ptcblas'] library_dirs =3D ['/usr/local/lib'] FOUND: include_dirs =3D ['/usr/local/include'] language =3D f77 libraries =3D ['alapack', 'ptf77blas', 'ptcblas'] library_dirs =3D ['/usr/local/lib'] blas_opt_info: blas_mkl_info: libraries mkl_rt not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE blis_info: libraries blis not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE openblas_info: libraries openblas not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE atlas_3_10_blas_threads_info: Setting PTATLAS=3DATLAS libraries tatlas not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE atlas_3_10_blas_info: libraries satlas not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE atlas_blas_threads_info: Setting PTATLAS=3DATLAS Setting PTATLAS=3DATLAS Setting PTATLAS=3DATLAS Setting PTATLAS=3DATLAS Setting PTATLAS=3DATLAS FOUND: include_dirs =3D ['/usr/local/include'] language =3D c define_macros =3D [('HAVE_CBLAS', None)] libraries =3D ['ptf77blas', 'ptcblas', 'ptf77blas', 'ptcblas'] library_dirs =3D ['/usr/local/lib'] FOUND: include_dirs =3D ['/usr/local/include'] language =3D c define_macros =3D [('HAVE_CBLAS', None)] libraries =3D ['ptf77blas', 'ptcblas', 'ptf77blas', 'ptcblas'] library_dirs =3D ['/usr/local/lib'] non-existing path in 'scipy/signal/windows': 'tests' non-existing path in 'scipy/sparse': 'sparsetools/sparsetools_impl.h' non-existing path in 'scipy/sparse': 'sparsetools/bsr_impl.h' non-existing path in 'scipy/sparse': 'sparsetools/csc_impl.h' non-existing path in 'scipy/sparse': 'sparsetools/csr_impl.h' non-existing path in 'scipy/sparse': 'sparsetools/other_impl.h' [makenpz] scipy/special/tests/data/boost.npz not rebuilt [makenpz] scipy/special/tests/data/gsl.npz not rebuilt [makenpz] scipy/special/tests/data/local.npz not rebuilt running config =3D=3D=3DATLAS OPTION check-orphans =3D=3D=3D=3D> Checking for pkg-plist issues (check-plist) =3D=3D=3D> Parsing plist =3D=3D=3D> Checking for items in STAGEDIR missing from pkg-plist =3D=3D=3D> Checking for items in pkg-plist which are not in STAGEDIR =3D=3D=3D> No pkg-plist issues found (check-plist) =3D=3D=3DATLAS OPTION pkg info -d py38-scipy-1.8.0: py38-numpy-1.20.3,1 atlas-math-3.8.4_18,1 python38-3.8.12_2 gcc10-10.3.0 py38-setuptools-57.0.0 --=20 You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-257400-21822-8rsAsTrySy>