Build problems on Linux

Hi,

I am currently experiencing problems building NGSolve (on Ubuntu) from the sources from GitHub. I have tested checking out on several commits and, from the one that I have tested, from the 14.1.19 onwards, I always get the following fail :
https://ngsolve.org/media/kunena/attachments/830/TerminalOutput.txt.

Building with the last commit from 13.1.19 (514b93c) works, however when I run a python script, SetNumThreads is not respected (e.g., set to 12 and during AssembleLinearization up to 55 (of available 88) threads where used).

To build, I have used following make flags

cmake \ -DCMAKE_BUILD_TYPE=RELEASE \ -DMKL_ROOT=/opt/intel/mkl \ -DCMAKE_INSTALL_PREFIX=${BASE}/Applications/NGSolveNew/inst \ -DUSE_GUI=OFF \ -DUSE_UMFPACK=ON \ -DUSE_MKL=ON \ -DCMAKE_CXX_COMPILER=g++ \ -DCMAKE_C_COMPILER=gcc \ ../src-ngs/

Is there anything I can do differently to fix these issues?

Best wishes,
Henry

Attachment: TerminalOutput.txt

Hi Henry,
the problem is that NGSolve finds an old netgen installation in:
Found Netgen: /home/wahl/Applications/NGSolve/inst/lib/cmake/netgen
But you install in a new dir:
/home/wahl/Applications/NGSolveNew/Applications/NGSolveNew/inst/
Make sure that you set your NETGENDIR env variable to the new install dir.

Best Christopher

Hi Christopher,

thank you for your help! The installation has now gone through with a hitch on the latest commit.

AssembleLinearisation() now also seems to respect SetNumThreads(). Unfortunately, calling pardiso still uses significantly more threads than given by SetNumThreads().

Best wishes,
Henry

Hi Henry,

I think you can control the number of threads that pardiso uses through the environment variable MKL_NUM_THREADS on Linux.

Best,
Christoph

Hi Christoph,

Thank you! That has done the trick :slight_smile:

Best wishes,
Henry