[Trilinos-Users] Fwd: Nelson Lafontaine

maireni at cimne.upc.edu maireni at cimne.upc.edu
Tue Nov 25 18:44:08 MST 2014


Hi Amesos Team,

My name is Nelson Lafontaine, PhD student from UPC,
Barcelona. I am really interested in use Amesos package
for solving linear problems. Right now i can compile Trilinos
with aAmesos with the lapack and klu solver, in both intel
and gnu compiler. However i want to enable the Pardiso solver
and Superlu solver, first for running in serial for testing
benchmark examples and then move to MPI.

However when  try to enable Pardiso solver, even using the mkl blas
and lapack library i can not make it works. After compilation, Amesos 
always  tell me
no available solver (for Pardiso).

Another problem is when i use SupeLU (Serial) in time
compilation i get the following error:

/usr/bin/ld: 
/home/nelson/Nel/packages/SuperLU_4.1/lib/libsuperlu_4.1.a(slamch.o): 
relocation R_X86_64_32S against `.bss' can not be used when making a 
shared object; recompile with -fPIC
/home/nelson/Nel/packages/SuperLU_4.1/lib/libsuperlu_4.1.a: error adding 
symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [packages/amesos/src/libamesos.so.11.12.1] Error 1
make[1]: *** [packages/amesos/src/CMakeFiles/amesos.dir/all] Error 2

I compiled the SuperLU packages ( intel or GNU) usng -fPIC and -shared.
NO idea what this error means.

Here add my configure file for superLU

TRILINOS_HOME="/home/nelson/Nel/packages/trilinos-11.12.1-Source"
EXTRA_LINK_FLAGS=""
EXTRA_ARGS=$@
cmake \
  -D CMAKE_INSTALL_PREFIX:PATH=/usr/local/trilinos-11.12.1 \
  -D CMAKE_BUILD_TYPE:STRING=RELEASE \
  -D TPL_ENABLE_MPI:BOOL=OFF \
  -D MPI_BASE_DIR:PATH=/usr/bin \
  -D MPI_INCLUDE_DIRS:PATH=/usr/lib/openmpi/include \
  -D BUILD_SHARED_LIBS:BOOL=ON \
  -D Trilinos_ENABLE_OpenMP:BOOL=ON \
  -D TPL_ENABLE_METIS:BOOL=ON \
  -D TPL_METIS_INCLUDE_DIRS:PATH=/usr/include/metis \
  -D TPL_ENABLE_ParMETIS:BOOL=ON \
  -D Trilinos_EXTRA_LINK_FLAGS:STRING="$EXTRA_LINK_FLAGS" \
  -D Trilinos_ENABLE_Amesos:BOOL=ON \
  -D Amesos_ENABLE_SuperLU:BOOL=ON\
  -D 
SuperLU_INCLUDE_DIRS:FILEPATH=/home/nelson/Nel/packages/SuperLU_4.1/SRC 
\
  -D 
SuperLU_LIBRARY_DIRS:FILEPATH=/home/nelson/Nel/packages/SuperLU_4.1/lib 
\
  -D SuperLU_LIBRARY_NAMES:STRING="libsuperlu_4.1.a"\
  -D Trilinos_ENABLE_Anasazi:BOOL=ON \
  -D Trilinos_ENABLE_AztecOO:BOOL=ON \
  -D AztecOO_ENABLE_Teuchos:BOOL=ON \
  -D Trilinos_ENABLE_Didasko:BOOL=ON \
  -D Trilinos_ENABLE_Epetra:BOOL=ON \
  -D Trilinos_ENABLE_EpetraExt:BOOL=ON \
  -D Trilinos_ENABLE_Galeri:BOOL=ON \
  -D Trilinos_ENABLE_Ifpack:BOOL=ON \
  -D Trilinos_ENABLE_ML:BOOL=ON \
  -D Trilinos_ENABLE_PyTrilinos:BOOL=ON \
  -D Trilinos_ENABLE_Teuchos:BOOL=ON \
  -D Trilinos_ENABLE_Triutils:BOOL=ON \
  -D Trilinos_ENABLE_ForTrilinos:BOOL=ON \
  -D Trilinos_EXTRA_LINK_FLAGS:STRING="$FORTRAN_LIBRARIES" \
  -D DART_TESTING_TIMEOUT:STRING=600 \
  -D CMAKE_Fortran_FLAGS:STRING="-O3 -funroll-all-loops -shared -fPIC 
-fopenmp" \
  -D CMAKE_C_FLAGS:STRING="-O3 -fPIC -funroll-loops -shared -fPIC 
-fopenmp "\
  -D CMAKE_CXX_FLAGS:STRING="-O3 -fPIC -funroll-loops -shared -fPIC 
-fopenmp" \
  $EXTRA_ARGS \
  ${TRILINOS_HOME}


and for pardiso intel compiler

Intel Compiler
TRILINOS_HOME="/home/nelson/Nel/packages/trilinos-11.12.1-Source"
EXTRA_LINK_FLAGS=""
EXTRA_ARGS=$@
cmake \
  -D CMAKE_INSTALL_PREFIX:PATH=/usr/local/trilinos-11.12.1 \
  -D CMAKE_BUILD_TYPE:STRING=RELEASE \
  -D TPL_ENABLE_MPI:BOOL=OFF \
  -D 
CMAKE_C_COMPILER:FILEPATH=/opt/intel/composer_xe_2013_sp1.3.174/bin/intel64/icc 
\
  -D 
CMAKE_CXX_COMPILER:FILEPATH=/opt/intel/composer_xe_2013_sp1.3.174/bin/intel64/icpc 
\
  -D 
CMAKE_Fortran_COMPILER:FILEPATH=/opt/intel/composer_xe_2013_sp1.1.106/bin/intel64/ifort 
\
  -D MPI_BASE_DIR:PATH=/usr/bin \
  -D MPI_INCLUDE_DIRS:PATH=/usr/lib/openmpi/include \
  -D BLAS_INCLUDE_DIRS:PATH=/opt/intel/mkl/include \
  -D LAPACK_INCLUDE_DIRS:PATH=/opt/intel/mkl/include \
  -D BLAS_LIBRARY_DIRS:PATH=/opt/intel/mkl/include/intel64/lp64 \
  -D LAPACK_LIBRARY_DIRS:PATH=/opt/intel/mkl/include/intel64/lp64 \
  -D BLAS_LIBRARY_NAMES:STRING="mkl_intel_lp64" \
  -D LAPACK_LIBRARY_NAMES:STRING="mkl_intel_lp64" \
  -D BUILD_SHARED_LIBS:BOOL=ON \
  -D Trilinos_ENABLE_OpenMP:BOOL=ON \
  -D TPL_ENABLE_METIS:BOOL=ON \
  -D TPL_METIS_INCLUDE_DIRS:PATH=/usr/include/metis \
  -D TPL_ENABLE_ParMETIS:BOOL=ON \
  -D Trilinos_EXTRA_LINK_FLAGS:STRING="$EXTRA_LINK_FLAGS" \
  -D Trilinos_ENABLE_Amesos:BOOL=ON \
  -D Amesos_ENABLE_SuperLU:BOOL=OFF\
  -D 
SuperLU_INCLUDE_DIRS:FILEPATH=/home/nelson/Nel/packages/SuperLU_4.1/SRC 
\
  -D 
SuperLU_LIBRARY_DIRS:FILEPATH=/home/nelson/Nel/packages/SuperLU_4.1/lib 
\
  -D SuperLU_LIBRARY_NAMES:STRING="libsuperlu_4.1.a"\
  -D Amesos_ENABLE_PARDISO:BOOL=ON \
  -D PARDISO_LIBRARY_DIRS:PATH=/opt/intel/mkl/lib/intel64\
  -D PARDISO_INCLUDE_DIRS:PATH=/opt/intel/mkl/include/intel64/lp64\
  -D PARDISO_LIBRARY_NAMES:STRING="mkl_intel_lp64; mkl_intel_thread"\
  -D Trilinos_ENABLE_Anasazi:BOOL=ON \
  -D Trilinos_ENABLE_AztecOO:BOOL=ON \
  -D AztecOO_ENABLE_Teuchos:BOOL=ON \
  -D Trilinos_ENABLE_Didasko:BOOL=ON \
  -D Trilinos_ENABLE_Epetra:BOOL=ON \
  -D Trilinos_ENABLE_EpetraExt:BOOL=ON \
  -D Trilinos_ENABLE_Galeri:BOOL=ON \
  -D Trilinos_ENABLE_Ifpack:BOOL=ON \
  -D Trilinos_ENABLE_ML:BOOL=ON \
  -D Trilinos_ENABLE_PyTrilinos:BOOL=ON \
  -D Trilinos_ENABLE_Teuchos:BOOL=ON \
  -D Trilinos_ENABLE_Triutils:BOOL=ON \
  -D Trilinos_ENABLE_ForTrilinos:BOOL=ON \
  -D Trilinos_EXTRA_LINK_FLAGS:STRING="$FORTRAN_LIBRARIES" \
  -D DART_TESTING_TIMEOUT:STRING=600 \
  -D CMAKE_Fortran_FLAGS:STRING="-O3 -funroll-all-loops -fPIC -parallel 
-openmp -mkl" \
  -D CMAKE_C_FLAGS:STRING="-O3 -fPIC -funroll-loops -openmp -mkl"\
  -D CMAKE_CXX_FLAGS:STRING="-O3 -fPIC -funroll-loops -parallel -openmp 
-mkl" \
  $EXTRA_ARGS \
  ${TRILINOS_HOME}

I really appreciate any ideas to solve the problem. I want to enable 
both SuperLU and
Pardiso Solver.


Regards

Nelson


More information about the Trilinos-Users mailing list