[Numpy-discussion] numarray patch: use Apple's vecLib on Mac OS X
Todd Miller
jmiller at stsci.edu
Mon Nov 22 08:09:05 EST 2004
On Mon, 2004-11-22 at 06:49, Andrea Riciputi wrote:
> Hi,
> I've noticed your patch for MacOS X, and I think that a better solution
> should use sys.platform instead of a path search, since Apple could
> always change its framework location. I've also removed the
> VECLIB_PATH/Headers from the include path because AFAIK Apple gcc
> already knows where to search for the vecLib framework. Here it is a
> diff output between my addons.py and the CVS one.
Not to look a patch-horse in the mouth, but IMHO, the sys.platform idea
is good but the VECLIB_PATH elimination maybe less so. The reason I
question the VECLIB_PATH change is that we're removing explicit and
generally harmless extra information in exchange for two assumptions:
(1) gcc knows the path already (2) the numarray Mac user is using gcc.
Other opinions? Mac users please speak up if you think the VECLIB_PATH
change is a good one or it won't get done.
Thanks for the suggestions. I'll make the sys.platform change later
today.
Regards,
Todd
> HTH,
> Andrea.
>
>
> > ** /Users/andrea/Installs/numarray-1.1.1/addons-mine.py Mon Nov
> > 22 12:39:58 2004
> > --- /Users/andrea/Installs/numarray-1.1.1/addons-cvs.py Fri Nov 19
> > 10:40:45 2004
> > ***************
> > *** 63,73 ****
> >
> > # lapack_dirs = ['/home/jmiller/work/lib']
> >
> > ! if sys.platform == "darwin":
> > ! lapack_include_dirs =
> > ["Packages/LinearAlgebra2/Src",'Include/numarray']
> > lapack_libs = []
> > lapack_dirs = []
> > - lapack_link_args = ['-framework', 'vecLib']
> >
> > ADDONS_DATA_FILES = [('numarray/ma', ['Packages/MA/Legal.htm'])]
> >
> > --- 63,74 ----
> >
> > # lapack_dirs = ['/home/jmiller/work/lib']
> >
> > ! VECLIB_PATH = '/System/Library/Frameworks/vecLib.framework'
> > ! if os.path.exists(VECLIB_PATH):
> > ! lapack_link_args = ['-framework', 'vecLib']
> > ! lapack_include_dirs.append( os.path.join(VECLIB_PATH,
> > 'Headers'))
> > lapack_libs = []
> > lapack_dirs = []
> >
> > ADDONS_DATA_FILES = [('numarray/ma', ['Packages/MA/Legal.htm'])]
>
>
> On 18 Nov 2004, at 16:53, Andrew Straw wrote:
>
> > Hi all,
> >
> > Here's a patch for numarray (against current CVS) to build using
> > Apple's vecLib (optimized BLAS library) on Mac OS X. This was
> > inspired by/stolen from Bob Ippolito's recent Numeric patch (
> > http://mail.python.org/pipermail/pythonmac-sig/2004-November/
> > 012077.html ). To build with vecLib, set the environment variable
> > USE_LAPACK=1. I can test any modifications needed to incorporate this
> > into the main release. After building with this patch (both with and
> > without vecLib) I ran Lib/testall.py with no problems -- are there
> > more tests I should do?
> >
> > Cheers!
> > Andrew
> >
> > Index: addons.py
> > ===================================================================
> > RCS file: /cvsroot/numpy/numarray/addons.py,v
> > retrieving revision 1.8
> > diff -c -r1.8 addons.py
> > *** addons.py 3 Nov 2004 15:06:33 -0000 1.8
> > --- addons.py 18 Nov 2004 15:43:01 -0000
> > ***************
> > *** 24,31 ****
> > --- 24,33 ----
> > os.path.join('Packages/LinearAlgebra2/Src',
> > 'zlapack_lite.c'),
> > os.path.join('Packages/LinearAlgebra2/Src', 'dlapack_lite.c')
> > ]
> > + lapack_include_dirs = ["Packages/LinearAlgebra2/Src",
> > 'Include/numarray']
> > lapack_libs = []
> > lapack_dirs = []
> > + lapack_link_args = []
> > else:
> > sourcelist = [
> > os.path.join('Packages/LinearAlgebra2/Src',
> > 'lapack_litemodule.c'),
> > ***************
> > *** 53,58 ****
> > --- 55,70 ----
> >
> > # lapack_dirs = ['/home/jmiller/work/lib']
> >
> > + lapack_link_args = []
> > + lapack_include_dirs = ["Packages/LinearAlgebra2/Src",
> > 'Include/numarray']
> > +
> > + VECLIB_PATH = '/System/Library/Frameworks/vecLib.framework'
> > + if os.path.exists(VECLIB_PATH):
> > + lapack_link_args = ['-framework', 'vecLib']
> > + lapack_include_dirs.append( os.path.join(VECLIB_PATH,
> > 'Headers'))
> > + lapack_libs = []
> > + lapack_dirs = []
> > +
> > ADDONS_DATA_FILES = [('numarray/ma', ['Packages/MA/Legal.htm'])]
> >
> > ADDONS_PACKAGES = ["numarray.convolve",
> > ***************
> > *** 102,110 ****
> > include_dirs =
> > ['Packages/FFT2/Include','Include/numarray']),
> > Extension('numarray.linear_algebra.lapack_lite2',
> > sourcelist,
> > ! include_dirs = ["Packages/LinearAlgebra2/Src",
> > 'Include/numarray'],
> > library_dirs = lapack_dirs,
> > ! libraries = lapack_libs),
> > Extension("numarray.random_array.ranlib2",
> > ["Packages/RandomArray2/Src/ranlib.c",
> > "Packages/RandomArray2/Src/ranlibmodule.c",
> > --- 114,124 ----
> > include_dirs =
> > ['Packages/FFT2/Include','Include/numarray']),
> > Extension('numarray.linear_algebra.lapack_lite2',
> > sourcelist,
> > ! include_dirs = lapack_include_dirs,
> > library_dirs = lapack_dirs,
> > ! libraries = lapack_libs,
> > ! extra_link_args = lapack_link_args,
> > ! ),
> > Extension("numarray.random_array.ranlib2",
> > ["Packages/RandomArray2/Src/ranlib.c",
> > "Packages/RandomArray2/Src/ranlibmodule.c",
> >
> >
> >
> > -------------------------------------------------------
> > This SF.Net email is sponsored by: InterSystems CACHE
> > FREE OODBMS DOWNLOAD - A multidimensional database that combines
> > robust object and relational technologies, making it a perfect match
> > for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
> > _______________________________________________
> > Numpy-discussion mailing list
> > Numpy-discussion at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/numpy-discussion
> >
>
>
>
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now.
> http://productguide.itmanagersjournal.com/
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/numpy-discussion
--
More information about the NumPy-Discussion
mailing list