From BCassanova at weather.com Thu May 13 19:42:12 2010 From: BCassanova at weather.com (Cassanova, Bill) Date: Thu, 13 May 2010 15:42:12 -0400 Subject: sourceryvsipl++-2.2 and Intel MKL version 10.2.5.035 Message-ID: <1D5F4E64B8C04F4C868B94AC9A532AF80D5F8E91@ATLMAIL01.corp.weather.com> Hi everyone, Just wondering if anyone has been able to get vsipl++ to properly configure with MKL version 10.2.5.035. I have made multiple attempts: ./configure --prefix=/home/developer/local --enable-shared-libs --enable-fft=fftw3 --enable-parallel=probe --with-fftw3-prefix=/home/developer/local --with-mkl-prefix=/home/developer/intel/mkl --with-mkl-arch=64 ./configure --prefix=/home/developer/local --enable-shared-libs --enable-fft=fftw3 --enable-parallel=probe --with-fftw3-prefix=/home/developer/local --with-mkl-prefix=/home/developer/intel/mkl/10.2.5.035 --with-mkl-arch=64 ./configure --prefix=/home/developer/local --enable-shared-libs --enable-fft=fftw3 --enable-parallel=probe --with-fftw3-prefix=/home/developer/local --with-mkl-prefix=/home/developer/intel/cmkl --with-mkl-arch=64 ./configure --prefix=/home/developer/local --enable-shared-libs --enable-fft=fftw3 --enable-parallel=probe --with-fftw3-prefix=/home/developer/local --with-mkl-prefix=/home/developer/intel/cmkl/10.2.5.035 --with-mkl-arch=64 All with the same error: Using 64 for MKL architecture directory Searching for LAPACK packages: mkl7 mkl5 checking for LAPACK/MKL 7.x or 8.x library... not found checking for LAPACK/MKL 5.x library... not found configure: error: LAPACK enabled but no library found My presumption is only MKL versions 7.x and 8.x are supported? If this the case are there any plans to support MKL version 10.x? Thanks, Bill -------------- next part -------------- An HTML attachment was scrubbed... URL: From brooks at codesourcery.com Thu May 13 20:27:29 2010 From: brooks at codesourcery.com (Brooks Moses) Date: Thu, 13 May 2010 13:27:29 -0700 Subject: [vsipl++] sourceryvsipl++-2.2 and Intel MKL version 10.2.5.035 In-Reply-To: <1D5F4E64B8C04F4C868B94AC9A532AF80D5F8E91@ATLMAIL01.corp.weather.com> References: <1D5F4E64B8C04F4C868B94AC9A532AF80D5F8E91@ATLMAIL01.corp.weather.com> Message-ID: <4BEC60B1.80803@codesourcery.com> Hello, Bill - Yes, MKL changed the set of libraries to link to between versions 8.x and the current 10.x version, and so the configure script in the current versions of Sourcery VSIPL++ does not correctly recognize them. We'll be adding support for MKL version 10.x in our next set of releases this fall. Meanwhile, if you do have a copy of MKL version 8.x available, you can build the library against that, and then build your VSIPL++ applications against MKL 10.x (with adjusted linker command line as appropriate). The MKL API is sufficiently stable for this to work correctly, and with static linking your applications will end up only using the code from the MKL 10.x library. (Alternately, if you look in the m4/lapack.m4 configure file, at about line 193 you'll see the set of libraries checked for MKL; those are currently "-lmkl_lapack -lmkl -lguide -lpthread". You should be able to hack those to point to the current appropriate set of MKL libraries.) Let me know if that works for you, or if you have any other questions! Thanks, - Brooks Cassanova, Bill wrote, at 5/13/2010 12:42 PM: > Hi everyone, > > Just wondering if anyone has been able to get vsipl++ to properly configure with > MKL version 10.2.5.035. > > I have made multiple attempts: > > ./configure --prefix=/home/developer/local --enable-shared-libs > --enable-fft=fftw3 --enable-parallel=probe > --with-fftw3-prefix=/home/developer/local > --with-mkl-prefix=/home/developer/intel/mkl --with-mkl-arch=64 > > ./configure --prefix=/home/developer/local --enable-shared-libs > --enable-fft=fftw3 --enable-parallel=probe > --with-fftw3-prefix=/home/developer/local > --with-mkl-prefix=/home/developer/intel/mkl/10.2.5.035 --with-mkl-arch=64 > > ./configure --prefix=/home/developer/local --enable-shared-libs > --enable-fft=fftw3 --enable-parallel=probe > --with-fftw3-prefix=/home/developer/local > --with-mkl-prefix=/home/developer/intel/cmkl --with-mkl-arch=64 > > ./configure --prefix=/home/developer/local --enable-shared-libs > --enable-fft=fftw3 --enable-parallel=probe > --with-fftw3-prefix=/home/developer/local > --with-mkl-prefix=/home/developer/intel/cmkl/10.2.5.035 --with-mkl-arch=64 > > All with the same error: > > Using 64 for MKL architecture directory > > Searching for LAPACK packages: mkl7 mkl5 > > checking for LAPACK/MKL 7.x or 8.x library... not found > > checking for LAPACK/MKL 5.x library... not found > > configure: error: LAPACK enabled but no library found > > My presumption is only MKL versions 7.x and 8.x are supported? If this the case > are there any plans to support MKL version 10.x? > > Thanks, > > Bill > -- Brooks Moses CodeSourcery brooks at codesourcery.com 650-331-3385 x726 From BCassanova at weather.com Thu May 13 20:47:31 2010 From: BCassanova at weather.com (Cassanova, Bill) Date: Thu, 13 May 2010 16:47:31 -0400 Subject: [vsipl++] sourceryvsipl++-2.2 and Intel MKL version 10.2.5.035 In-Reply-To: <4BEC60B1.80803@codesourcery.com> References: <1D5F4E64B8C04F4C868B94AC9A532AF80D5F8E91@ATLMAIL01.corp.weather.com> <4BEC60B1.80803@codesourcery.com> Message-ID: <1D5F4E64B8C04F4C868B94AC9A532AF80D5F8F05@ATLMAIL01.corp.weather.com> Thanks for the information. I do have a few more questions. (1) I do not have a copy of MKL 8.x. Are you saying the alternative method will allow configure to complete successfully? In the intel directory (/home/developer/intel/mkl/10.2.5.035/lib/64 ) I have a shared object named libmkl_lapack.so so I am not quite sure what I would change the line you specified (LIBS="$keep_LIBS -lmkl_lapack -lmkl -lguide -lpthread ) to be Since the library requested is the one that I already have. I also do not see an available library named anything close to ( -lmkl which translates to libmkl.so ). Perhaps I should use the one named libmkl_core.so that I would translate to lmkl_core instead? Here is the list of available libraries: libguide.a libmkl_blacs_sgimpt_lp64.a libmkl_intel_ilp64.a libmkl_scalapack_lp64.a libguide.so libmkl_blas95_ilp64.a libmkl_intel_ilp64.so libmkl_scalapack_lp64.so libiomp5.a libmkl_blas95_lp64.a libmkl_intel_lp64.a libmkl_sequential.a libiomp5.so libmkl_cdft_core.a libmkl_intel_lp64.so libmkl_sequential.so libmkl_blacs_ilp64.a libmkl_core.a libmkl_intel_sp2dp.a libmkl_solver_ilp64.a libmkl_blacs_intelmpi_ilp64.a libmkl_core.so libmkl_intel_sp2dp.so libmkl_solver_ilp64_sequential.a libmkl_blacs_intelmpi_ilp64.so libmkl_gf_ilp64.a libmkl_intel_thread.a libmkl_solver_lp64.a libmkl_blacs_intelmpi_lp64.a libmkl_gf_ilp64.so libmkl_intel_thread.so libmkl_solver_lp64_sequential.a libmkl_blacs_intelmpi_lp64.so libmkl_gf_lp64.a libmkl_lapack95_ilp64.a libmkl_vml_i2p.so libmkl_blacs_lp64.a libmkl_gf_lp64.so libmkl_lapack95_lp64.a locale libmkl_blacs_openmpi_ilp64.a libmkl_gnu_thread.a libmkl_lapack.so libmkl_blacs_openmpi_lp64.a libmkl_gnu_thread.so libmkl_scalapack_ilp64.a libmkl_blacs_sgimpt_ilp64.a libmkl_i2p.so libmkl_scalapack_ilp64.so (2) Can you also state, if you know, the difference between the intel directories /home/developer/intel/mkl/10.2.5.035 and /home/developer/intel/cmkl/10.2.5.035. (3) If I am going to use MKL I presume I would NOT want to also include flags for: --with-fftw3 and --with-lapack=atlas, --with-atlas-prefix=/home/developer/local I didn't do so in my configuration attempt because I presume it is not needed. (4) Is Intel's IPP also needed if I use the MKL? I would presume you can use one without the other but perhaps not. Thanks in advance for the assistance, Bill -----Original Message----- From: Brooks Moses [mailto:brooks at codesourcery.com] Sent: Thursday, May 13, 2010 4:27 PM To: Cassanova, Bill Cc: vsipl++ at codesourcery.com Subject: Re: [vsipl++] sourceryvsipl++-2.2 and Intel MKL version 10.2.5.035 Hello, Bill - Yes, MKL changed the set of libraries to link to between versions 8.x and the current 10.x version, and so the configure script in the current versions of Sourcery VSIPL++ does not correctly recognize them. We'll be adding support for MKL version 10.x in our next set of releases this fall. Meanwhile, if you do have a copy of MKL version 8.x available, you can build the library against that, and then build your VSIPL++ applications against MKL 10.x (with adjusted linker command line as appropriate). The MKL API is sufficiently stable for this to work correctly, and with static linking your applications will end up only using the code from the MKL 10.x library. (Alternately, if you look in the m4/lapack.m4 configure file, at about line 193 you'll see the set of libraries checked for MKL; those are currently "-lmkl_lapack -lmkl -lguide -lpthread". You should be able to hack those to point to the current appropriate set of MKL libraries.) Let me know if that works for you, or if you have any other questions! Thanks, - Brooks Cassanova, Bill wrote, at 5/13/2010 12:42 PM: > Hi everyone, > > Just wondering if anyone has been able to get vsipl++ to properly configure with > MKL version 10.2.5.035. > > I have made multiple attempts: > > ./configure --prefix=/home/developer/local --enable-shared-libs > --enable-fft=fftw3 --enable-parallel=probe > --with-fftw3-prefix=/home/developer/local > --with-mkl-prefix=/home/developer/intel/mkl --with-mkl-arch=64 > > ./configure --prefix=/home/developer/local --enable-shared-libs > --enable-fft=fftw3 --enable-parallel=probe > --with-fftw3-prefix=/home/developer/local > --with-mkl-prefix=/home/developer/intel/mkl/10.2.5.035 --with-mkl-arch=64 > > ./configure --prefix=/home/developer/local --enable-shared-libs > --enable-fft=fftw3 --enable-parallel=probe > --with-fftw3-prefix=/home/developer/local > --with-mkl-prefix=/home/developer/intel/cmkl --with-mkl-arch=64 > > ./configure --prefix=/home/developer/local --enable-shared-libs > --enable-fft=fftw3 --enable-parallel=probe > --with-fftw3-prefix=/home/developer/local > --with-mkl-prefix=/home/developer/intel/cmkl/10.2.5.035 --with-mkl-arch=64 > > All with the same error: > > Using 64 for MKL architecture directory > > Searching for LAPACK packages: mkl7 mkl5 > > checking for LAPACK/MKL 7.x or 8.x library... not found > > checking for LAPACK/MKL 5.x library... not found > > configure: error: LAPACK enabled but no library found > > My presumption is only MKL versions 7.x and 8.x are supported? If this the case > are there any plans to support MKL version 10.x? > > Thanks, > > Bill > -- Brooks Moses CodeSourcery brooks at codesourcery.com 650-331-3385 x726 -------------- next part -------------- An HTML attachment was scrubbed... URL: From brooks at codesourcery.com Fri May 14 23:08:02 2010 From: brooks at codesourcery.com (Brooks Moses) Date: Fri, 14 May 2010 16:08:02 -0700 Subject: [vsipl++] sourceryvsipl++-2.2 and Intel MKL version 10.2.5.035 In-Reply-To: <1D5F4E64B8C04F4C868B94AC9A532AF80D5F8F05@ATLMAIL01.corp.weather.com> References: <1D5F4E64B8C04F4C868B94AC9A532AF80D5F8E91@ATLMAIL01.corp.weather.com> <4BEC60B1.80803@codesourcery.com> <1D5F4E64B8C04F4C868B94AC9A532AF80D5F8F05@ATLMAIL01.corp.weather.com> Message-ID: <4BEDD7D2.3050904@codesourcery.com> Bill, To answer your questions, in order: (1) The alternative method should allow configure to complete successfully, yes -- although I should note that I have not yet tried it, and there may be other complications. The set of libraries to link with is described in the MKL documentation; see chapter 5 here: http://software.intel.com/sites/products/documentation/hpc/mkl/lin/index.htm Basically, you would use the same set of linker options as if you were compiling an application that used MKL directly. My untested guess, following the examples, is that for 64-bit compilation something like the following will work: -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread (2) I think the "cmkl" library contains the "Cluster Math Kernel Library" functions, which operate across multiple computers. Sourcery VSIPL++ does not yet use those. (3) Currently, we only use MKL for BLAS and LAPACK functions, so you would still need to specify a backend for FFT support -- either FFTW3 or IPP. You are correct that the "atlas" flags are supplanted by use of MKL. (4) The use of IPP and MKL should be separate, although we don't regularly run tests with only one of the two, and our product builds either use both or neither. Regards, - Brooks Cassanova, Bill wrote, at 5/13/2010 1:47 PM: > Thanks for the information. I do have a few more questions. > > (1) > > I do not have a copy of MKL 8.x. Are you saying the alternative method will > allow configure to complete successfully? > > In the intel directory (/home/developer/intel/mkl/10.2.5.035/lib/64 ) I have a > shared object named libmkl_lapack.so so > > I am not quite sure what I would change the line you specified (LIBS="$keep_LIBS > -lmkl_lapack -lmkl -lguide ?lpthread ) to be > > Since the library requested is the one that I already have. > > I also do not see an available library named anything close to ( -lmkl which > translates to libmkl.so ). Perhaps I should use the one named libmkl_core.so > that I would translate to lmkl_core instead? > > Here is the list of available libraries: > > libguide.a libmkl_blacs_sgimpt_lp64.a libmkl_intel_ilp64.a libmkl_scalapack_lp64.a > > libguide.so libmkl_blas95_ilp64.a libmkl_intel_ilp64.so libmkl_scalapack_lp64.so > > libiomp5.a libmkl_blas95_lp64.a libmkl_intel_lp64.a libmkl_sequential.a > > libiomp5.so libmkl_cdft_core.a libmkl_intel_lp64.so libmkl_sequential.so > > libmkl_blacs_ilp64.a libmkl_core.a libmkl_intel_sp2dp.a libmkl_solver_ilp64.a > > libmkl_blacs_intelmpi_ilp64.a libmkl_core.so libmkl_intel_sp2dp.so > libmkl_solver_ilp64_sequential.a > > libmkl_blacs_intelmpi_ilp64.so libmkl_gf_ilp64.a libmkl_intel_thread.a > libmkl_solver_lp64.a > > libmkl_blacs_intelmpi_lp64.a libmkl_gf_ilp64.so libmkl_intel_thread.so > libmkl_solver_lp64_sequential.a > > libmkl_blacs_intelmpi_lp64.so libmkl_gf_lp64.a libmkl_lapack95_ilp64.a > libmkl_vml_i2p.so > > libmkl_blacs_lp64.a libmkl_gf_lp64.so libmkl_lapack95_lp64.a locale > > libmkl_blacs_openmpi_ilp64.a libmkl_gnu_thread.a libmkl_lapack.so > > libmkl_blacs_openmpi_lp64.a libmkl_gnu_thread.so libmkl_scalapack_ilp64.a > > libmkl_blacs_sgimpt_ilp64.a libmkl_i2p.so libmkl_scalapack_ilp64.so > > (2) > > Can you also state, if you know, the difference between the intel directories > /home/developer/intel/*mkl*/10.2.5.035 and > > /home/developer/intel/*cmkl*/10.2.5.035. > > (3) > > If I am going to use MKL I presume I would NOT want to also include flags for: > > --with-fftw3 and --with-lapack=atlas, --with-atlas-prefix=/home/developer/local > > I didn?t do so in my configuration attempt because I presume it is not needed. > > (4) > > Is Intel?s IPP also needed if I use the MKL? I would presume you can use one > without the other but perhaps not. > > Thanks in advance for the assistance, > > Bill -- Brooks Moses CodeSourcery brooks at codesourcery.com 650-331-3385 x726