Wizualizacja zdalna z Paraview
Pakiet ParaView posiada możliwość rozdzielenia GUI z którym pracujemy i tzw. serwera który wykonuje wizualizaję i analizę danych. Jest to szczególnie pomocne przy dużych zbiorach danych gdzie potrzebujemy sporo pamięci RAM do ich wizualizacji.
Niezależnie od komputera na którym pracujemy, musimy zrobić 2 rzeczy:
- Uruchomić pvserver na zdalnym, mocnym komputerze. np. w ICM.
- Dla obliczeń na Topoli, uruchamiaj pvserver na Topoli
- Dla Rysów i Okeanosa najlepiej uruchamiaj na Rysach, o ile posiadasz stosowny grant obliczeniowy.
- Uruchomić tunel ssh do zdalnego komputera
- Lokalnie, np. na naszym laptopie uruchomić paraview i wskazać mu lokalny port (localhost:11111), który jest przetunelowany na zdalną maszynę.
Uruchom zdalny serwer ParaView (pvserver) i uruchom tunel
Na komputerze Rysy
srun --time=2:00:00 -p gpu -n1 -N1 --gres=gpu:1 --mem=128G --pty /apps/other/paraview/ParaView-5.13.2-egl-MPI-Linux-Python3.10-x86_64/bin/pvserver
Waiting for client...
Connection URL: cs://rysy-nX.icm.edu.pl:11111
Accepting connection(s): rysy-nX.icm.edu.pl:11111
Info
Pracując z JupyterLab'em możemy współdzielić zasoby GPU między Jupyterlab'em i ParaView - wystarczy uruchomić
/apps/other/paraview/ParaView-5.13.2-egl-MPI-Linux-Python3.10-x86_64/bin/pvserver
Na lokalnym komputerze
ssh -L 11111:rysy-nX:11111 -v -J hpc.icm.edu.pl rysy
Info
Na tej konsoli sprawdzaj czy nie ma błędów. Po uruchomieniu lokalnego ParaView powinien pojawić się komunikat "Client connected"
Warning
Zamień rysy-nX
na numer węzła na którym zostało uruchomione zadanie.
Na komputerze Okeanos
# allocate resource for the job
username@okeanos-login2:~> salloc -N1 -n8 --qos=hpc --partition=okeanos --account=GXX_YY --time=08:00:00
salloc: Granted job allocation 879513
salloc: Waiting for resource configuration
salloc: Nodes nid00XYZ are ready for job
# run an interactive job
okeanos-login2 /home/username> srun --pty /bin/bash -l
# load required modules
(base) username@nid00XYZ:~> module load common/go/1.13.12
(base) username@nid00XYZ:~> module load common/singularity/3.5.3
# laund paraview server within singularity container
(base) username@nid00XYZ:~> singularity run /apps/paraview-singularity/pv-v5.8.0-osmesa.sif /opt/paraview/bin/pvserver
WARNING: Bind mount '/home/username => /home/username' overlaps container CWD /home/username, may not be available
Waiting for client...
Connection URL: cs://nid00XYZ:11111
Accepting connection(s): nid00XYZ:11111
Na lokalnym komputerze
ssh -L 11111:nid00XYZ:11111 -v -J hpc.icm.edu.pl okeanos
Warning
Zamień nid00XYZ
na numer węzła na którym zostało uruchomione zadanie.
Uruchom Paraview
Ściągnij ParaView-5.13.2-MPI-Linux-Python3.10-x86_64.tar.gz
z https://www.paraview.org/download/ na swój lokalny komputer.
Będziesz potrzebował dokładnie tej wersji.
Rozpakuj ParaView-5.13.2-MPI-Linux-Python3.10-x86_64.tar.gz
a następnie uruchom ./bin/paraview
.
Ściągnij ParaView-5.8.0-MPI-Linux-Python3.7-64bit.tar.gz
z https://www.paraview.org/download/ na swój lokalny komputer.
Będziesz potrzebował dokładnie tej wersji.
Rozpakuj ParaView-5.8.0-MPI-Linux-Python3.7-64bit.tar.gz
a następnie uruchom paraview
.
1 Skonfiguruj
2 Połącz
3 Otwórz pliki zdalnie