known-problems.md

This commit is contained in:
caubet_m 2020-12-24 11:09:01 +01:00
parent 82cb4edb53
commit 07463d7a9e

View File

@ -11,32 +11,62 @@ permalink: /merlin6/known-problems.html
## Known Problems Summary ## Known Problems Summary
| Topic | | Topic |
|:--------------------------------------------------------- | |:----------------------------------------------------------------------------------------- |
| [Paraview](## Paraview, ANSYS and OpenGL) | | [OpenGL vs Mesa](/merlin6/known-problems.html#opengl-vs-mesa) |
| [ANSYS](## Paraview, ANSYS and OpenGL) | | [Paraview](/merlin6/known-problems.html#OpenGL) |
| [Illegal instructions error](## Illegal instructions) | | [ANSYS](/merlin6/known-problems.html#opengl-support-paraview-ansys-etc) |
| [Illegal instructions error](i/merlin6/known-problems.html#illegal-instructions) |
## Paraview, ANSYS and OpenGL ## OpenGL vs Mesa
Try to use X11(mesa) driver for Paraview and ANSYS instead of OpenGL: Some applications can run with OpenGL support. This is only possible when the node contains a GPU card.
In general, X11 with Mesa Driver is the recommended method as it will work in all cases (no need of GPUs). In example, for ParaView:
```bash
module load paraview
paraview-mesa paraview # 'paraview --mesa' for old releases
```
However, if one needs to run with OpenGL support, this is still possible by running `vglrun`. Officially, the supported method is
NoMachine remote desktop (SSH with X11 Forwarding is slow, but also needs to properly setup the client -desktop or laptop-, where
Merlin admins have no access or rights to it). In example, for running Paraview:
```bash
module load paraview
vglrun paraview
```
## ANSYS
Sometimes, running ANSYS/Fluent requires X11 support. For that, one should run fluent as follows.
```bash ```bash
# ANSYS
module load ANSYS module load ANSYS
fluent -driver x11 fluent -driver x11
```
# ParaView ## Paraview
For running Paraview, one can run it with Mesa support or OpenGL support.
```bash
module load paraview module load paraview
paraview --mesa
# Run with Mesa support (nodes without GPU)
paraview-mesa paraview # 'paraview --mesa' for old releases
# Run with OpenGL support (nodes with GPU)
vglrun paraview
``` ```
## Illegal instructions ## Illegal instructions
It may happened that your code, compiled on one machine will not be executed on another throwing exception like "(Illegal instruction)". It may happened that your code, compiled on one machine will not be executed on another throwing exception like **"(Illegal instruction)"**.
Check (with "hostname" command) on which of the node you are and compare it with the names from first item. We observe few applications This is usually because the software was compiled with a set of instructions newer than the ones available in the node where the software runs,
that can't be run on merlin-c-01..16 because of this problem (notice that these machines are more then 5 years old). Hint: you may and it mostly depends on the processor generation.
choose the particular flavour of the machines for your slurm job, check the "--cores-per-node" option for sbatch:
```bash In example, `merlin-l-001` and `merlin-l-002` contain a newer generation of processors than the old GPUs nodes, or than the Merlin5 cluster.
sbatch --cores-per-socket=8 Script.sh # will filter the selection of the machine and exclude the oldest one, merlin-c-01..16 Hence, unless one compiles the software with compatibility with set of instructions from older processors, it will not run on old nodes.
``` Sometimes, this is properly set by default at the compilation time, but sometimes is not.
For GCC, please refer to https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html for compiling options. In case of doubts, contact us.