콘텐츠로 이동

Gadget Quickstart

이 챕터에서는 아무것도 설치되어 있지 않은 상태에서 시작해, Conda 가상환경 안에서 GADGET-4 예제를 빌드하고 실행해 봅니다.

  • OS에 맞게 Conda(Miniforge)를 설치합니다.
  • gadget-lab 가상환경에서 빌드 의존성을 준비합니다.
  • GADGET-4 예제(DM-L50-N128)를 빌드하고 실행합니다.

먼저 PowerShell/Windows Terminal을 관리자 권한으로 실행하세요.

Terminal window
wsl --install -d Ubuntu
wsl --set-default-version 2
wsl -l -v

wsl --install이 도움말만 나오면 아래를 실행하세요.

Terminal window
wsl --list --online
wsl --install -d Ubuntu

설치가 0.0%에서 멈추면 아래를 시도하세요.

Terminal window
wsl --install --web-download -d Ubuntu

재부팅 후 Ubuntu를 열어 Linux 사용자 계정을 만든 다음 설치를 진행하세요.

Terminal window
sudo apt update
sudo apt install -y curl bzip2
curl -L -o ~/miniforge.sh \
"https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-$(uname -m).sh"
bash ~/miniforge.sh -b -p "$HOME/miniforge3"
source "$HOME/miniforge3/etc/profile.d/conda.sh"
conda init bash
Terminal window
conda create -n gadget-lab -c conda-forge \
python=3.11 compilers make cmake git pkg-config \
openmpi mpi4py gsl fftw hdf5 hwloc -y
conda activate gadget-lab
which python
which mpicc
which mpicxx
echo "$CONDA_PREFIX"
Terminal window
cd ~
git clone https://gitlab.mpcdf.mpg.de/vrs/gadget4.git
cd gadget4

접근 제한으로 git clone이 실패하면, 소속 기관의 공식 배포 경로로 소스를 받아 같은 위치에서 이어서 진행하세요.

Terminal window
cp Template-Makefile.systype Makefile.systype
cp Template-Config.sh Config.sh
  • Makefile.systype에서 사용할 SYSTYPE를 선택합니다.
  • 컴파일러가 mpicc/mpicxx를 사용하도록 설정합니다.
  • GSL/FFTW/HDF5/hwloc 경로는 ${CONDA_PREFIX}/include, ${CONDA_PREFIX}/lib를 가리키도록 지정합니다.
Terminal window
make DIR=examples/DM-L50-N128

라이브러리 검색 오류가 나면 아래를 적용 후 다시 빌드하세요.

Terminal window
export CPATH="$CONDA_PREFIX/include:${CPATH:-}"
export LIBRARY_PATH="$CONDA_PREFIX/lib:${LIBRARY_PATH:-}"
export LD_LIBRARY_PATH="$CONDA_PREFIX/lib:${LD_LIBRARY_PATH:-}"
make DIR=examples/DM-L50-N128
Terminal window
cd examples/DM-L50-N128
mpiexec -np 4 ./Gadget4 param.txt
  • 실행 로그가 타임스텝을 진행하며 정상 종료됩니다.
  • 출력 경로에 스냅샷/로그 파일이 생성됩니다.
  • MPI/FFTW/HDF5 링크 오류가 없습니다.