SYMMIC Users Manual CapeSym

Linux Installation of xSYMMIC

The Linux build of xSYMMIC can be used to run the command line simulator as a native Linux executable. The Linux binaries were built with the Intel C++ compiler for the x86_64 architecture. Development and testing was done on Red Hat Enterprise (or CentOS) Linux, version 6.3 (RHEL 6.3), but the binaries should be compatible with most versions of Linux.

System Requirements

Installing xSYMMIC

Download the distribution gzipped tarfile (e.g. xSYMMICv300_LinuxRHEL6.tgz) from

Create an installation root directory of your choice, the recommendation is: /opt/capesym

Put the gzipped tarfile in this directory and extract it as superuser (or using sudo).

$ tar -xvf xSYMMICv300_LinuxRHEL6.tgz

The result will be a set of generic template files in the installation directory (e.g. /opt/capesym/symmic) and the binary executables in the /bin subdirectory.

As of version 3.0.2, PETSc library files are included with the distribution and will be installed in a subdirectory of the installation directory (e.g. /opt/capesym/petsc).

Next, obtain a license (see Licensing for Linux in the next section) and then place that license in the installation /bin subdirectory.

Environment Variables

xSYMMIC needs the environmental variable LD_LIBRARY_PATH set to the location of the binary directory, where the library file resides (e.g. /opt/capesym/symmic/bin). As of version 3.0.2, the PETSc library location must also be added. For the license file (see below), it looks in the executable and current directories. These environmental variables are ideally set in the user's .bashrc file (if using the bash shell).





export PATH




Unless there is a special need to do so, we recommend against setting the environmental variables MKL_NUM_THREADS (for Pardiso) and OMP_NUM_THREADS (for OpenMP). This allows xSYMMIC to make its own determination of how many OpenMP threads to use. It will choose the number of physical cores as the number of OpenMP threads, since this will generally give optimum performance. However, an example of a special reason to set MKL_NUM_THREADS and OMP_NUM_THREADS could be if one wanted to reserve some of the CPU cores to run other applications. In that case both variables should be set to the number of physical cores that one wanted xSYMMIC to use. Superposition Level 2 automatically chooses one thread per MPI process, since this algorithm is designed for the number of MPI processes (-n) to be set equal to the number of physical cores.

MPI Installation for Linux

In order to use the Message Passing Interface parallelism now available in xSYMMIC, the mpiexec.exe MPI launcher is required. Download the Intel MPI library for Linux:

Intel MPI Library:

Extract the installer from the downloaded tarball using a command of form:

$ tar -xzvf l_mpi_2018.2.199.tgz

This should create a subdirectory with the install script in it. Run the script in the subdirectory and follow the prompts to complete the installation.

CapeSym > SYMMIC > Users Manual
© Copyright 2007-2019 CapeSym, Inc. | 6 Huron Dr. Suite 1B, Natick, MA 01760, USA | +1 (508) 653-7100