2. System configuration
Setting DAMASK options
Adjust the settings in
DAMASK/CONFIG using any text editor, the default values should work on most systems.
Setting shell environment
Depending on your
shell, execute one of the following commands to set the DAMASK environment.
Sourcing the file is necessary before compiling or running DAMASK, hence it is recommended to do it automatically when logging in.
This can be done by adding the source command to
shell initialization files such as
.bashrc or
.profile located in your home directory.
Result
The script reports system environment settings in part derived from
DAMASK/CONFIG.
Additionally, it
- exports the variable $DAMASK_NUM_THREADS according to the settings in DAMASK/CONFIG
- adds DAMASK/python to $PYTHONPATH such that the
damask
module can be properly imported in Python
- adds $DAMASK_BIN to $PATH if necessary and possible
- sets the limits for stack, heap, virtual memory, and physical memory via
ulimit
A few words on memory limits
Please note: If you don't change the stack size, you might experience a stack overflow for large models, especially when using openMP.
Should your simulation terminate with a segmentation or memory fault at an early stage this is most likely the reason.
Increase the stack size by using the
ulimit
command in the parent shell.
- The easiest way would be to run
> ulimit -s unlimited
or > ulimit -s hard
which sets the stack size to unlimited (Linux) or 64 MiB (OS X). If you want a different stack limit, you basically have to try what size is necessary for your model.
Determining the optimal stack size is difficult.
A good start to read about it is
http://software.intel.com/en-us/forums/topic/501500.