diff --git a/pages/merlin6/99 support/known-problems.md b/pages/merlin6/99 support/known-problems.md index 0ed782c..505609e 100644 --- a/pages/merlin6/99 support/known-problems.md +++ b/pages/merlin6/99 support/known-problems.md @@ -10,33 +10,63 @@ permalink: /merlin6/known-problems.html ## Known Problems Summary -| Topic | -|:--------------------------------------------------------- | -| [Paraview](## Paraview, ANSYS and OpenGL) | -| [ANSYS](## Paraview, ANSYS and OpenGL) | -| [Illegal instructions error](## Illegal instructions) | +| Topic | +|:----------------------------------------------------------------------------------------- | +| [OpenGL vs Mesa](/merlin6/known-problems.html#opengl-vs-mesa) | +| [Paraview](/merlin6/known-problems.html#OpenGL) | +| [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 -# ANSYS module load ANSYS fluent -driver x11 +``` -# ParaView +## Paraview + +For running Paraview, one can run it with Mesa support or OpenGL support. + +```bash 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 -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 -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 -choose the particular flavour of the machines for your slurm job, check the "--cores-per-node" option for sbatch: +It may happened that your code, compiled on one machine will not be executed on another throwing exception like **"(Illegal instruction)"**. +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, +and it mostly depends on the processor generation. -```bash -sbatch --cores-per-socket=8 Script.sh # will filter the selection of the machine and exclude the oldest one, merlin-c-01..16 -``` +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. +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.