[Trilinos-Users] MKL / ACML

Jonathan Hu jhu at sandia.gov
Fri Dec 10 10:07:59 MST 2010


All,

     Ross' recommendation should work.   I've seen the  "-l-L" when I 
use the Trilinos makefile.export system.  Once I started specifying the 
blas/lapack as is recommended in Trilinos10CMakeQuickstart.txt, this 
error went away.   Please try the following in your cmake script:

\
   -D 
BLAS_LIBRARY_DIRS:STRING="/usr/local/intel/Compiler/11.1/064/mkl/lib/em64t;/usr/local/intel/Compiler/11.1/064/lib/intel64;/usr/lib64" 
\
   -D BLAS_LIBRARY_NAMES:STRING="mkl_intel_lp64; mkl_intel_thread; 
mkl_core; iomp5; pthread" \
   -D 
LAPACK_LIBRARY_DIRS:STRING="/usr/local/intel/Compiler/11.1/064/mkl/lib/em64t;/usr/local/intel/Compiler/11.1/064/lib/intel64;/usr/lib64" 
\
   -D LAPACK_LIBRARY_NAMES:STRING="mkl_intel_lp64; mkl_intel_thread; 
mkl_core; iomp5; pthread" \


I've been using this for day-to-day compilation against Trilinos dev.

Regards,
Jonathan

trilinos-users-request at software.sandia.gov wrote on 12/10/2010 08:40 AM:
>
> Message: 2
> Date: Fri, 10 Dec 2010 09:30:08 -0700
> From: "Bartlett, Roscoe A"<rabartl at sandia.gov>
> Subject: Re: [Trilinos-Users] MKL / ACML
> To: "Meyer, Hal"<hxm at sandia.gov>, Tommy Binford<tbinford at gmail.com>,
>          Alireza Nejadmalayeri<Alireza.Nejadmalayeri at colorado.edu>
> Cc: "trilinos-users at software.sandia.gov"
>          <trilinos-users at software.sandia.gov>
> Message-ID:
>          <9C5EDABC60AD90488D506008E9277E4A20BAA1C457 at ES02SNLNT.srn.sandia.gov>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hello guys,
>
> Have you seen the documentation on setup in TPLs at:
>
>     http://trilinos.sandia.gov/Trilinos10CMakeQuickstart.txt
>
> ?
>
> I think that setting:
>
>     TPL_BLAS_LIBRARIES="-L$(DEPEND_INSTALL)/blas -lblas"
>
> is not supported in general given the way that CMake works.  Where did you find this approach documented?  Does CMake claim to support this approach in its find_library(...) function?  From looking at the documentation at:
>
>      http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_library
>
> it does not really mention this at all.
>
> Instead I would suggest:
>
>     -DTPL_BLAS_LIBRARIES="$(DEPEND_INSTALL)/blas/libblas.a"
>
> or whatever the full path to the BLAS library(s) is or:
>
>     -DBLAS_LIBRARY_DIRS:PATH=$(DEPEND_INSTALL)/blas
>
> Actually, the last approach is really the right way to change the library search path.
>
> Please give BLAS_LIBRARY_DIRS a try and see if that solves your problem.  If not, please let us know because it should.  That is really the right way to do this.
>
> Cheers,
>
> - Ross
>
>
>
>
>> -----Original Message-----
>> From: trilinos-users-bounces at software.sandia.gov [mailto:trilinos-
>> users-bounces at software.sandia.gov] On Behalf Of Meyer, Hal
>> Sent: Friday, December 10, 2010 8:34 AM
>> To: Tommy Binford; Alireza Nejadmalayeri
>> Cc: trilinos-users at software.sandia.gov
>> Subject: Re: [Trilinos-Users] MKL / ACML
>>
>> I am seeing the same problem on a gnu/linux system where I have built
>> blas and lapack from source. The error is in Makefile.export.Trilinos.
>>
>> The location of my blas/lapack are defined below:
>>
>>      BLAS_LIB                := -L$(DEPEND_INSTALL)/blas -lblas
>>      LAPACK_LIB              := -L$(DEPEND_INSTALL)/lapack -llapack
>>
>> The cmake option is set here:
>>
>>          cd $(TRILINOS_BUILD_DIR)&&  ($(MODULE_COMMANDS) $(CMAKE) \
>>                  ......
>>                  -D TPL_BLAS_LIBRARIES:STRING="$(BLAS_LIB)" \
>>                  -D TPL_LAPACK_LIBRARIES:STRING="$(LAPACK_LIB)" \
>>                  $(TRILINOS_SRC_DIR))
>>
>> Trilinos builds without error, but the link fails with the following
>> error.
>>
>>      /usr/bin/ld: cannot find -l-
>> L/scratch1/hxm/aleph/build/tsali/aleph.2472/user/machines/tsali/lapack
>>
>> In my Makefile I am including:
>>
>>      -include $(TRILINOS_DIR)/include/Makefile.export.Trilinos
>>
>> When I look at the include file, the error is in that file.
>>
>>      grep -i lapack Makefile.export.*
>>      Makefile.export.Trilinos:Trilinos_TPL_LIBRARIES=
>> /scratch1/hxm/aleph/build/tsali/aleph.2472/user/machines/tsali/exodus/l
>> ib/libnetcdf.a -l-
>> L/scratch1/hxm/aleph/build/tsali/aleph.2472/user/machines/tsali/lapack
>> -llapack -l-
>> L/scratch1/hxm/aleph/build/tsali/aleph.2472/user/machines/tsali/blas -
>> lblas
>>
>> Note the -l-L after libnetcdf.a. This file is created by trilinos.
>>
>> The work around I started using was to specify the full path, not "-
>> L... -l ...", but I would rather use the "-L.. -l.." format.
>>
>> I hope this is helpful.
>> Hal
>>
>> _______________________________________
>> From: trilinos-users-bounces at software.sandia.gov [trilinos-users-
>> bounces at software.sandia.gov] On Behalf Of Tommy Binford
>> [tbinford at gmail.com]
>> Sent: Friday, December 10, 2010 07:21
>> To: Alireza Nejadmalayeri
>> Cc: trilinos-users at software.sandia.gov
>> Subject: Re: [Trilinos-Users] MKL / ACML
>>
>> I'm not sure because I've never seen the -l-L option, but I think you
>> might have a problem in your makefile prepending a "-l" onto your
>> library paths.  My guess is ld doesn't know what
>>
>> -l-L/opt/intel/mkl/10.2.5.035/lib/em64t
>>
>> means.  It should probably be
>>
>> -L/opt/intel/mkl/10.2.5.035/lib/em64t
>>
>> This also happens on
>>
>> -l-L/opt/intel/mkl/10.2.5.035/lib/em64t -lmkl_intel_lp64
>>
>> Hope this helps.
>>
>> TLB
>>
>> On Thu, Dec 9, 2010 at 11:52 PM, Alireza Nejadmalayeri
>> <Alireza.Nejadmalayeri at colorado.edu>  wrote:
>>> Thanks, Chris. I have tried something similar. It works as long as I
>> use
>>> cmake. But if I compile my code using makefile, I'll get:
>>>
>>> /apps/rhel5/mpich2-1.3.1/64/nemesis-intel-11.1.072/bin/mpicxx -c -g -
>> O0 -g
>>> -I/usr/rmt_share/scratch95/a/alireza/The_Trilions_Project/trilinos-
>> 10.6.1__Install_mpi_wrapper_debug_MKL2/include
>>> -DMYAPP_EPETRA main.cpp
>>> icpc: command line warning #10120: overriding '-O3' with '-O0'
>>> /usr/bin/ar cr libmyappLib.a main.o
>>> /apps/rhel5/mpich2-1.3.1/64/nemesis-intel-11.1.072/bin/mpicxx -g -O0
>> -g
>>> -I/usr/rmt_share/scratch95/a/alireza/The_Trilions_Project/trilinos-
>> 10.6.1__Install_mpi_wrapper_debug_MKL2/include
>>> -DMYAPP_EPETRA
>>> -L/usr/rmt_share/scratch95/a/alireza/The_Trilions_Project/trilinos-
>> 10.6.1__Install_mpi_wrapper_debug_MKL2/lib
>>> libmyappLib.a -laztecoo -ltpetrainout -ltpetra -ltriutils -lepetra
>>> -lkokkoslinalg -lkokkosnodeapi -lkokkos -ltpi -lteuchos
>>> -l-L/opt/intel/mkl/10.2.5.035/lib/em64t -lmkl_intel_lp64 -lmkl_core
>>> -lmkl_sequential -l-L/opt/intel/mkl/10.2.5.035/lib/em64t -
>> lmkl_intel_lp64
>>> -lmkl_core -lmkl_sequential -o MyApp.exe
>>> icpc: command line warning #10120: overriding '-O3' with '-O0'
>>> ld: cannot find -l-L/opt/intel/mkl/10.2.5.035/lib/em64t
>>>
>>> Any thoughts/suggestions?
>>>
>>> Thank you,
>>> alireza
>>>
>>>
>>> ----- Original Message -----
>>> From: "Baker, Christopher G."<bakercg at ornl.gov>
>>> To:<Alireza.Nejadmalayeri at colorado.edu>;
>>> <trilinos-users at software.sandia.gov>
>>> Sent: Thursday, December 09, 2010 6:16 PM
>>> Subject: RE: [Trilinos-Users] MKL / ACML
>>>> The following will link in the sequential BLAS:
>>>>
>>>> set SEQMKL="-L${MKLROOT}/lib/em64t -lmkl_intel_lp64 -lmkl_core
>>>> -lmkl_sequential"
>>>>
>>>>
>>>> cmake ......
>>>> ? -D
>> TPL_BLAS_LIBRARIES:STRING="${SEQMKL}"???????????????????????????? \
>>>> ? -D
>> TPL_LAPACK_LIBRARIES:STRING="${SEQMKL}"?????????????????????????? \
>>>>
>>>>
>>>> ?-----Original Message-----
>>>> From: Alireza Nejadmalayeri
>> [mailto:Alireza.Nejadmalayeri at colorado.edu]
>>>> Sent: Thursday, December 09, 2010 06:39 PM Eastern Standard Time
>>>> To: trilinos-users at software.sandia.gov
>>>> Subject: [Trilinos-Users] MKL / ACML
>>>>
>>>> Hello,
>>>>
>>>> I wonder if anyone has built Trilinos with  Intel MKL or ACML
>> libraries
>>>> (for BLAS and LAPACK). I would like to have a sample configure
>> script since
>>>> mine is causing various problems.
>>>>
>>>> Thank you,
>>>> alireza
>>>>
>>>>
>>>>
>>>>
>>> _______________________________________________



More information about the Trilinos-Users mailing list