본문 바로가기

PARA VIEW

PARAVIEW Compile

HPC환경에서 NVIDIA GPU를 이용하여 server측에서 렌더링 하여 데이터를 보내주기 위해서는

egl-mpi버전을 사용해야 한다. 그런데, 바리너리 패키지는 정상적으로 작동하지 않으므로,

소스코드를 이용하여 컴파일 해보자.

 

의존성 정리

Paraview egl 버전을 사용하기 위해서는 gcc 13.3이 필요하며,

이에 따른 openmpi, vtk 모두 gcc 13.3으로 컴파일 되어야 한다.

 

gcc 13.3이 모듈로 설치되어 있다는 가정하에,

먼저, openmpi cmake는

../configure \
  --prefix=/opt/apps/openmpi/5.0.10-gcc13.3 \
  CC=gcc \
  CXX=g++ \
  FC=gfortran \
  --enable-shared \
  --enable-static \
  --with-pmix \
  --with-hwloc \
  --disable-debug

 

모듈로 만들어주고,

 

그 다음으로 vtk cmake는

cmake .. \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_PREFIX=/opt/apps/vtk/9.6.0-gcc13.3-ompi5.0.10 \
  -DCMAKE_C_COMPILER=mpicc \
  -DCMAKE_CXX_COMPILER=mpicxx \

  -DVTK_GROUP_ENABLE_MPI=YES \
  -DVTK_MODULE_ENABLE_VTK_ParallelMPI=YES \
  -DVTK_USE_MPI=ON \

  -DVTK_OPENGL_HAS_EGL=ON \
  -DVTK_USE_X=OFF \

  -DVTK_BUILD_TESTING=OFF \
  -DVTK_BUILD_EXAMPLES=OFF \
  -DBUILD_SHARED_LIBS=ON \
  -DVTK_WRAP_PYTHON=OFF

 

make

make -j $(nproc)

 

 

 

우선 PARAVIEW의 github 주소는 아래와 같다.

git clone https://gitlab.kitware.com/paraview/paraview.git

 

원하는 버전으로 체크아웃

$ git checkout v5.13.2
Note: switching to 'v5.13.2'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 0803be5a07 Update version number to 5.13.2

 

업데이트

git submodule update --init --recursive

 

디렉토리 구조

~/Downloads/paraview
  ├── CMakeLists.txt
  ├── Clients/
  ├── VTK/
  └── paraview_build/

 

먼저 모듈 로드

module load gcc/15.2.0
module load openmpi/5.0.10-gcc15.2

 

OpenGL

sudo apt update

sudo apt install \
  libglvnd-dev \
  libegl1 \
  libegl1-mesa-dev \
  libgl1-mesa-dev \
  libgles2-mesa-dev
  
sudo apt install libnvidia-gl-590

 

확인

$ ldconfig -p | grep -E "EGL|OpenGL"
	libOpenGL.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libOpenGL.so.0
	libOpenGL.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libOpenGL.so
	libEGL_nvidia.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL_nvidia.so.0
	libEGL_mesa.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL_mesa.so.0
	libEGL.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL.so.1
	libEGL.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL.so

 

모듈세팅

$ module list

Currently Loaded Modules:
  1) gcc/13.3.0   2) openmpi/5.0.10-gcc13.3   3) vtk/9.6.0-gcc13.3-ompi5.0.10

 

 

Cmake

cmake -GNinja \
 -DCMAKE_C_COMPILER=mpicc \
 -DCMAKE_CXX_COMPILER=mpicxx \
 -DCMAKE_PREFIX_PATH="/opt/apps/vtk/9.6.0-gcc13.3-ompi5.0.10" \
 -DPARAVIEW_USE_MPI=ON \
 -DPARAVIEW_USE_PYTHON=ON \
 -DPARAVIEW_USE_QT=OFF \
 -DVTK_OPENGL_HAS_EGL=ON \
 -DVTK_USE_X=OFF \
 -DVTK_DEFAULT_RENDER_WINDOW_OFFSCREEN=ON \
 -DCMAKE_BUILD_TYPE=Release \
 -DCMAKE_INSTALL_PREFIX=/opt/apps/paraview/5.13.2-gcc13-ompi5.0.10 \
 ..

 

Compile

ninja -j 10

 

개삽질인 듯

 

바이너리 배포판, ParaView-5.13.2-egl-MPI-Linux-Python3.10-x86_64 압축풀고 써도 될 듯.

 

단 nvidia-smi는 client 접속 후 체크

$ nvidia-smi
Mon Mar 23 13:56:03 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 590.48.01              Driver Version: 590.48.01      CUDA Version: 13.1     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA T400 4GB                Off |   00000000:03:00.0 Off |                  N/A |
| 38%   29C    P8            N/A  /   31W |       6MiB /   4096MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A          456642      G   ./bin/pvserver                            1MiB |
+-----------------------------------------------------------------------------------------+

'PARA VIEW' 카테고리의 다른 글

Force Chain 그리기  (0) 2026.03.23
Cleint Option Setting  (0) 2026.03.23
VTK build with AOCC  (0) 2025.05.03
VTK Compile on NURION  (0) 2025.04.09
VTK build w/ intelOneAPI  (1) 2025.01.29