Mac-Intel math performance libraries

Ben Abbott bpabbott at mac.com
Thu Oct 2 02:43:36 CDT 2008


On Oct 1, 2008, at 3:01 PM, Samir Sharshar wrote:

> Hello,
>
> Don't know if you've receive my last post concerning Intel Math  
> Kernel Library and SuiteSparse compilation on MacIntel. I send it  
> again with a copy the help-octave mailing list.
>
> Regards,
>
> Samir Sharshar MD
>
> Début du message réexpédié :
>
>> De : Samir Sharshar <samir.sharshar at me.com>
>> Date : 30 septembre 2008 21:03:31 HAEC
>> À : Jaroslav Hajek <highegg at gmail.com>
>> Objet : Rép : Mac-Intel math performance libraries
>>
>> Hello,
>>
>> Thanks for your help.
>>
>> Here are more details :
>>
>> 1. I'm using i686-apple-darwin9-gcc4.0.1 (gcc -version at the  
>> command line)
>> 2. GNU Fortran 4.4.0 20080801 (gfortran --version at the command  
>> line)
>> 3. Installing m_mkl_p_10.0.4.022.dmg as Intel Math Kernel Library :  
>> Intel site claims its compatibility with gcc and gfortran compilers,
>> 4. As I said in my previous mail, XCode 3.1 and a 10.5.5 system  
>> (last updates)
>>
>> Compiling FFTW :
>>
>> 1. Download fresh sources of fftw-3.1.2,
>> 2. Running ./configure --prefix=/usr/local --enable-shared
>> 3. make && make check && sudo make install running smoothly without  
>> errors/warnings
>>
>> but I guess I miss some extra configuration to tell fftw to use the  
>> Intel MKL...
>>
>> Compiling UMFPACK (SuiteSparse) :
>>
>> 1. Download SuiteSparse-3.2.0
>> 2. Download metis-4.0
>> 3. mv the metis.tar.gz to the SuiteSparse directory, untar it, then  
>> make,
>> 4. change the UFconfig/UFconfig.mk file : only uncomment the lines  
>> concerning Macintosh configuration, run make && make check without  
>> errors/warnings,
>> 5. execute the following script (from wiki.octave.org) as superuser :
>>
>>     INSTALL_DIR=/usr/local
>>     # Make sure the install directories exist
>>     if !(test -d $INSTALL_DIR/include);
>>     then
>>     echo $INSTALL_DIR/include did not exist, creating $INSTALL_DIR/ 
>> include
>>     mkdir $INSTALL_DIR/include
>>     fi;
>>     if !(test -d $INSTALL_DIR/include/suitesparse);
>>     then
>>     echo $INSTALL_DIR/include/suitesparse did not exist,  
>> creating     $INSTALL_DIR/include/suitesparse
>>     mkdir $INSTALL_DIR/include/suitesparse
>>     fi;
>>     if !(test -d $INSTALL_DIR/lib);
>>     then
>>     echo $INSTALL_DIR/lib did not exist, creating $INSTALL_DIR/lib
>>     mkdir $INSTALL_DIR/lib
>>     fi;
>>     # Copy all the files to the new directories
>>     echo Copying UMFPACK files into $INSTALL_DIR...
>>     cp UFconfig/UFconfig.h $INSTALL_DIR/include/suitesparse
>>     cp UMFPACK/Include/*.h $INSTALL_DIR/include/suitesparse
>>     cp UMFPACK/Lib/libumfpack.a $INSTALL_DIR/lib
>>     ranlib $INSTALL_DIR/lib/libumfpack.a
>>     echo Copying AMD files into $INSTALL_DIR/...
>>     cp AMD/Include/*.h $INSTALL_DIR/include/suitesparse
>>     cp AMD/Lib/libamd.a $INSTALL_DIR/lib
>>     ranlib $INSTALL_DIR/lib/libamd.a
>>     echo Copying CAMD files into $INSTALL_DIR/...
>>     cp CAMD/Include/*.h $INSTALL_DIR/include/suitesparse
>>     cp CAMD/Lib/libcamd.a $INSTALL_DIR/lib
>>     ranlib $INSTALL_DIR/lib/libcamd.a
>>     echo Copying COLAMD files into $INSTALL_DIR/...
>>     cp COLAMD/*.h $INSTALL_DIR/include/suitesparse
>>     cp COLAMD/libcolamd.a $INSTALL_DIR/lib
>>     ranlib $INSTALL_DIR/lib/libcolamd.a
>>     echo Copying CCOLAMD files into $INSTALL_DIR/...
>>     cp CCOLAMD/*.h $INSTALL_DIR/include/suitesparse
>>     cp CCOLAMD/libccolamd.a $INSTALL_DIR/lib
>>     ranlib $INSTALL_DIR/lib/libccolamd.a
>>     echo Copying CXSPARSE files into $INSTALL_DIR/...
>>     cp CHOLMOD/Source/*.h $INSTALL_DIR/include/suitesparse
>>     cp CHOLMOD/Lib/libcholmod.a $INSTALL_DIR/lib
>>     ranlib $INSTALL_DIR/lib/libcholmod.a
>>     echo Copying CHOLMOD files into $INSTALL_DIR/...
>>     cp CXSparse/Include/*h $INSTALL_DIR/include/suitesparse
>>     cp CXSparse/Source/libcxsparse.a $INSTALL_DIR/lib
>>     ranlib $INSTALL_DIR/lib/libcxsparse.a
>>     echo Copying METIS files into $INSTALL_DIR/...
>>     cp metis-4.0/Lib/*.h $INSTALL_DIR/include/suitesparse
>>     cp metis-4.0/libmetis.a $INSTALL_DIR/lib
>>     ranlib $INSTALL_DIR/lib/libmetis.a
>>
>> 6. and get the following errors :
>>
>> Copying UMFPACK files into /usr/local...
>> ranlib: file: /usr/local/lib/libumfpack.a(umf_di_dump.o) has no  
>> symbols
>> ranlib: file: /usr/local/lib/libumfpack.a(umf_dl_dump.o) has no  
>> symbols
>> ranlib: file: /usr/local/lib/libumfpack.a(umf_zi_dump.o) has no  
>> symbols
>> ranlib: file: /usr/local/lib/libumfpack.a(umf_zl_dump.o) has no  
>> symbols
>> Copying AMD files into /usr/local/...
>> ranlib: file: /usr/local/lib/libamd.a(amd_i_dump.o) has no symbols
>> ranlib: file: /usr/local/lib/libamd.a(amd_l_dump.o) has no symbols
>> Copying CAMD files into /usr/local/...
>> ranlib: file: /usr/local/lib/libcamd.a(camd_i_dump.o) has no symbols
>> ranlib: file: /usr/local/lib/libcamd.a(camd_l_dump.o) has no symbols
>> Copying COLAMD files into /usr/local/...
>> cp: COLAMD/*.h: No such file or directory
>> cp: COLAMD/libcolamd.a: No such file or directory
>> ranlib: can't open file: /usr/local/lib/libcolamd.a (No such file  
>> or directory)
>> Copying CCOLAMD files into /usr/local/...
>> cp: CCOLAMD/*.h: No such file or directory
>> cp: CCOLAMD/libccolamd.a: No such file or directory
>> ranlib: can't open file: /usr/local/lib/libccolamd.a (No such file  
>> or directory)
>> Copying CXSPARSE files into /usr/local/...
>> cp: CHOLMOD/Source/*.h: No such file or directory
>> Copying CHOLMOD files into /usr/local/...
>> cp: CXSparse/Source/libcxsparse.a: No such file or directory
>> ranlib: can't open file: /usr/local/lib/libcxsparse.a (No such file  
>> or directory)
>> Copying METIS files into /usr/local/...
>>
>> and here I'm stuck :)
>>
>> Perharps I need to use the Intel compilers instead of the ones I  
>> have. But think I miss to set some FLAGS.
>> Sorry for my ignorance of the compilation process.
>> So if you drive me on the right way in order to compile octave with  
>> the Intel MKL, it would be great !
>>
>> Regards,
>>
>> Samir.

Your errors each originate from suitesparse. As a reference  you can  
take a look at the patch and package information used by Fink. The  
links below are for patching and building version 3.1. I haven't  
looked at building 3.2.

http://fink.cvs.sourceforge.net/fink/dists/10.4/stable/main/finkinfo/sci/suitesparse.patch?view=markup

http://fink.cvs.sourceforge.net/fink/dists/10.4/stable/main/finkinfo/sci/suitesparse.info?view=markup

I don't recall the details, but do remember encountering the "has no  
symbols" error when working to create my first Fink package for  
suitesparse.

Ben


More information about the Help-octave mailing list