User Tools

Site Tools


installing_optional

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
installing_optional [2013/01/24 04:14] – [Parallel oofem] mikael.ohmaninstalling_optional [2015/02/08 11:52] (current) – [Parallel version for Windows] johnnyontheweb
Line 3: Line 3:
 IML++ is a C++ templated library of modern iterative methods for solving both symmetric and nonsymmetric linear systems of equations. OOFEM provides the interface to this library, which enables to use iterative, single-processor solvers. See [[http://www.oofem.org/documentation/documentation.html|input data manual]] for description, how to select various solvers. The IML++ can be downloaded from [[http://math.nist.gov/iml++/|project website]].  IML++ is a C++ templated library of modern iterative methods for solving both symmetric and nonsymmetric linear systems of equations. OOFEM provides the interface to this library, which enables to use iterative, single-processor solvers. See [[http://www.oofem.org/documentation/documentation.html|input data manual]] for description, how to select various solvers. The IML++ can be downloaded from [[http://math.nist.gov/iml++/|project website]]. 
 Installation instructions: Installation instructions:
-  * download sources (iml.shar) from project website into iml directory created in oofem top dir. +  * Run configuration with **USE_IML**
-  unpack sources by running %%"sh iml.shar"%% +
-  In oofem top dir, (re)configure oofem, use %%"--enable-iml"%% configure option +
-  run %%"make all"%% to recompile oofem with iml support+
  
  
Line 24: Line 21:
   * Use **%%PETSC_DIR%%** and **%%PETSC_ARCH%%** to specify your PETSc installation.   * Use **%%PETSC_DIR%%** and **%%PETSC_ARCH%%** to specify your PETSc installation.
  
 +==== Parallel version for Windows ====
 +This is intended for who uses [[http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx|Visual Studio 2013]] and, optionally, [[https://software.intel.com/en-us/intel-visual-fortran-compiler-for-windows|Intel Fortran Compiler]] (needed only for [[http://www.netlib.org/scalapack/|ScaLAPACK]]).
  
 +== Prerequisities ==
 +  *[[http://www.mpich.org/downloads/|MPICH2]] (unofficial version mantained by Jayesh Krishna, not the Microsoft one) are the advised MPI libraries.
 +  *[[https://www.cygwin.com/|Cygwin]] is needed to compile PETSc; ''Python'' must be installed within.
 +  *%%Optionally%% you may want to compile SLEPc and/or other packages needed, like [[http://glaros.dtc.umn.edu/gkhome/metis/parmetis/overview|ParMETIS]] and [[http://glaros.dtc.umn.edu/gkhome/metis/metis/overview|METIS]]
  
 +== Configuration of required packages ==
 +  *First of all, one would have ParMETIS (which requires METIS) and MUMPS as direct solver (see [[http://www.mcs.anl.gov/petsc/documentation/linearsolvertable.html|here]]), which requires PETSc compiled with ScaLAPACK.
 +  *METIS and ParMETIS can be installed with VS2013 and CMake using a standard procedure.
 +  *Follow the instructions for [[http://www.mcs.anl.gov/petsc/documentation/installation.html#windows|PETSc installation]] under Windows and Cygwin. You must start Cygwin within a VS command prompt to have all path to the MS compilers defined.
 +  *Be sure to have ONLY one mpiexec.exe (the one from MPICH2 package) in your path (note that VS2013, ifort and Cygwin have their copy of mpiexec.exe - rename them before to proceed)
 +  *A good configuration command for PETSc is: <code>./configure --with-cc='win32fe cl' --with-fc='win32fe ifort' --with-cxx='win32fe cl' --download-fblaslapack --with-debugging=0 --download-mumps --with-mpi-dir="/cygdrive/c/MPICH2" --with-shared-libraries=0 --with-mpiexec='mpiexec --localonly' --useThreads=0 --download-scalapack --with-parmetis-include=/home/user/parmetis-4.0.3/include --with-parmetis-lib="/home/user/libs/parmetis.lib /home/user/libs/metis.lib" --with-metis-include="/home/user/metis-5.1.0/include" --with-metis-lib=/home/user/libs/metis.lib </code>
 +  This command will configure PETSc package:
 +  * to be compiled with MS ''cl'' and Intel ''ifort'', interfaced with ''win32fe''
 +  * with debugging flag deactivated (for speed of execution)
 +  * with the following additional packages: MUMPS, METIS, ParMETIS, ScaLAPACK, BLAS-LAPACK
 +Follow on-screen instructions to finish compilation and performing tests.
  
 +== Configuration == 
 +  * Replace the main CMakeLists.txt with [[CMakeLists-Windows|this file]]. 
 +  * Run configuration with "**%%USE_PARALLEL%%**" set. 
 +  * Use **%%PETSC_DIR%%** (''arch-mswin-c-opt'') and **%%PETSC_ARCH%%** (''arch-mswin-c-opt'') to specify your PETSc installation. 
 +  * Set **%%METIS_DIR%%** and **%%PARMETIS_DIR%%** to the appropriate paths. **%%USE_SHARED_LIB%%** must be unchecked. 
 +  * Configure, generate and open the solution in VS2013. In the Linker Options for the ''oofem'' project, add ''C:\Program Files (x86)\Intel\ComposerXE-2011\compiler\lib\ia32'' (or the equivalent in your system) as additional directory and exclude ''LIBCMT.lib'' from linking to prevent errors ([[http://msdn.microsoft.com/en-us/library/6wtdswk0.aspx|see here]]). 
 +  * Compile. Test your oofem.exe with <code>mpiexec -n N oofem -p -f inputdeck.in</code> where N is the number of threads involved (you must have an input deck for each thread, named ''inputdeck.in.0'', ''inputdeck.in.1'' and so on).
 ===== OOFEG ===== ===== OOFEG =====
 OOFEG is graphical postprocessor provided with oofem. It requires X-windows libraries to be installed on the system, so it is more or less limited to unix platforms. The capabilities of OOFEG are limited in 3D visualization, therefore the recommended way for end users interested in 3D analyses is to use oofem capability to export data in VTK format and use third-party, freely available tools such as mayavi or paraview to visualize results. Another advantage is, that these tools are multiplatform and OPEN-GL based, so that they are available on both unix and windows and can fully explore the potential of your graphics hardware. OOFEG is graphical postprocessor provided with oofem. It requires X-windows libraries to be installed on the system, so it is more or less limited to unix platforms. The capabilities of OOFEG are limited in 3D visualization, therefore the recommended way for end users interested in 3D analyses is to use oofem capability to export data in VTK format and use third-party, freely available tools such as mayavi or paraview to visualize results. Another advantage is, that these tools are multiplatform and OPEN-GL based, so that they are available on both unix and windows and can fully explore the potential of your graphics hardware.
Line 40: Line 60:
 == Configuration == == Configuration ==
   * Download and install Ckit and Elixir libraries.    * Download and install Ckit and Elixir libraries. 
-  * Run configure with "**%%USE_OOFEG%%**" set.+  * Run configuration with "**%%USE_OOFEG%%**" set.
   * Use **%%CKIT_DIR%%** and **%%ELIXIR_DIR%%** allow to specify location of Ckit and Elixir installation directories, needed by oofeg.   * Use **%%CKIT_DIR%%** and **%%ELIXIR_DIR%%** allow to specify location of Ckit and Elixir installation directories, needed by oofeg.
  
  
  
installing_optional.1358997262.txt.gz · Last modified: 2013/01/24 04:14 by mikael.ohman