TEAR-ERC / tandem

A HPC DG method for 2D and 3D SEAS problems
BSD 3-Clause "New" or "Revised" License
18 stars 10 forks source link

Suggestions for improving tandem installation #37

Open Thomas-Ulrich opened 2 years ago

Thomas-Ulrich commented 2 years ago

Hi,

1) I'm trying to install Tandem on kernelpanic. I installed Lua as follow

wget https://www.lua.org/ftp/lua-5.4.3.tar.gz
tar -xzvf lua-5.4.3.tar.gz 
cd lua-5.4.3/
make
make INSTALL_TOP=/export/dump/ulrich/ install
cd ..

Then I try to run cmake in tandem:

cd tandem/
cd build/
cmake .. -DPOLYNOMIAL_DEGREE=4 -DCMAKE_PREFIX_PATH=/export/dump/ulrich/

and I get:

-- Current Git description: 1394c95
-- A library with LAPACK API found.
CMake Error at /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find Lua (missing: LUA_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.13/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.13/Modules/FindLua.cmake:229 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  src/CMakeLists.txt:59 (find_package)

-- Configuring incomplete, errors occurred!

Note that the include files are yet here:

ulrich@kernelpanic:/export/dump/ulrich/include$ ls l*
lauxlib.h  luaconf.h  lua.h  lua.hpp  lualib.h

EDIT: and libs

ulrich@kernelpanic:/export/dump/ulrich/lib$ ls
lua  petsc  pkgconfig  libcmumps.a  libdmumps.a  liblua.a  libmetis.a  libmumps_common.a  libparmetis.a  libpetsc.so  libpetsc.so.3.13  libpetsc.so.3.13.3  libpord.a  libscalapack.a  libsmumps.a  libzmumps.a

2) also another thing related to installation: I would add cd .. after

cd ../parmetis-4.0.3
make config && make && make install

(and other locations). Then, users can just copy-paste the instruction and get the installation done as quickly as possible.

3) I suppose tandem won't be run that much on personal computer, but on HPC system, where users don't have write access to /usr/local. I would therefore present an installation procedure where everything is written in e.g. $HOME.

NicoSchlw commented 2 years ago

Hi, I also had this problem with Lua. It's a bug of the old cmake versions, it works with cmake 3.17+.

uphoffc commented 2 years ago

@NicoSchlw which version did you use exactly? We should update the following line then: https://github.com/TEAR-ERC/tandem/blob/main/CMakeLists.txt#L1

In the doc it says that from 3.18 support for Lua 5.4 was added: https://cmake.org/cmake/help/v3.22/module/FindLua.html

dmay23 commented 2 years ago

You need to use

make config prefix=/PATH/TO/PARMETIS

and

make config prefix=/PATH/TO/METIS

for a local install of parmetis and metis

NicoSchlw commented 2 years ago

@uphoffc oh you're right, it should be 3.18+. It's correct in tandems doc.

I used cmake 3.21.

uphoffc commented 2 years ago

Ah its already in the docs. Then I update the CMakeLists to 3.18.

Thomas-Ulrich commented 2 years ago

Thanks all. I could install with cmake 3.21. (I do not close as 2 and 3 have not been discussed yet).

Thomas-Ulrich commented 2 years ago

what about adding a comment above https://github.com/TEAR-ERC/tandem/blob/main/CMakeLists.txt#L1 (e.g. #support for Lua 5.4 was added in 3.18).

Thomas-Ulrich commented 2 years ago

Hi, sorry for dumping every problem I faced in this issue. I tried opening the cosine example (pvtu) with paraview5.4.1 and got:

ERROR: In /build/paraview-OJ3Fdc/paraview-5.4.1+dfsg4/VTK/Filters/Geometry/vtkUnstructuredGridGeometryFilter.cxx, line 1407
vtkUnstructuredGridGeometryFilter (0x55d8a09dbf90): Cell type UnknownClass(69) is not a 3D cell.

It opens well on paraview5.9.0. Maybe you could therefore precise: The pvtu-file can be visualized with ParaView (version > x.x.x)

Thomas-Ulrich commented 2 years ago

Hi two more suggestions:

would it make sense to have a adaptive writer, which instead of:

29 TS dt 4.35367e+06 time 1.25848e+07

to write

29 TS dt 50d/9h time 145d/12h

(let say with 2 levels of units for both).

I would also set up the OMP_NUM_THREADS in the examples. Else lambda users (what I m doing now) will run full heisenbug/kernelpanic without realizing.

Thomas-Ulrich commented 2 years ago

The code logs the slip rate and other quantities at certain points and saves those in the fltst_* files. You can view these files using the viewrec tool from the SeisSol project – even when tandem is still running.

@NicoSchlw did it work for you? (not for me)

NicoSchlw commented 2 years ago

What exactly is not working? I don't use the viewrec tool, during run time I just check the fltst*/log files with the tail command

Thomas-Ulrich commented 2 years ago

I just tried opening the 2d folder containing the csv files with viewrec, but they are not listed.