콘텐츠로 이동

Arepo Quickstart

이 챕터에서는 AREPO를 컴파일하고 공식 예제 wave_1d를 실행해 봅니다. 대규모 시뮬레이션으로 넘어가기 전에 빌드 환경이 정상인지 확인하는 것이 목적입니다.

  • 운영 체제에 맞는 Conda 환경(Miniforge)을 설치합니다.
  • arepo-lab 가상 환경을 만들고 활성화합니다.
  • 로컬 머신 또는 HPC 툴체인으로 Arepo 실행 파일을 빌드합니다.
  • 공식 wave_1d 예제를 처음부터 끝까지 실행합니다.
  • 내장 check.py 스크립트로 결과를 검증합니다.

PowerShell/Windows Terminal을 관리자 권한으로 실행한 뒤:

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

wsl --install이 도움말만 출력하면 아래처럼 Ubuntu를 명시해 설치하세요.

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 arepo-lab -c conda-forge \
python=3.11 compilers make git pkg-config \
openmpi mpi4py gsl fftw hdf5 hwloc -y
conda activate arepo-lab
which python
which mpicc
echo "$CONDA_PREFIX"

AREPO의 필수 의존성은 C11 호환 컴파일러, GNU Make, Python, MPI(2.0 이상), GSL입니다. FFTW3, HDF5, hwloc 등은 해당 기능 플래그를 사용할 때만 필요합니다.

Terminal window
git clone https://gitlab.mpcdf.mpg.de/vrs/arepo.git
cd arepo

접근 제한이 있다면, 소속 기관의 승인된 배포 경로로 소스를 받아 같은 루트 디렉터리에서 이어서 진행하세요.

4) 빌드 설정(SYSTYPE, Config.sh) 준비

섹션 제목: “4) 빌드 설정(SYSTYPE, Config.sh) 준비”
Terminal window
cp Template-Makefile.systype Makefile.systype
cp Template-Config.sh Config.sh

SYSTYPE를 선택하고, 컴파일러와 라이브러리 경로를 현재 환경에 맞게 조정합니다.

Terminal window
mkdir -p ./run/examples/wave_1d
cp -r ./examples/wave_1d/* ./run/examples/wave_1d/
python ./run/examples/wave_1d/create.py ./run/examples/wave_1d/
make CONFIG=./run/examples/wave_1d/Config.sh \
BUILD_DIR=./run/examples/wave_1d/build \
EXEC=./run/examples/wave_1d/Arepo
cd ./run/examples/wave_1d/
mpiexec -np 1 ./Arepo param.txt
cd ../../../
python ./run/examples/wave_1d/check.py ./run/examples/wave_1d/

AREPO 문서 기준으로 1D 예제는 MPI 병렬을 지원하지 않으므로 -np 1(단일 프로세스)로 실행해야 합니다.

  • check.py가 에러 없이 종료됩니다.
  • run/examples/wave_1d/ 아래에 출력 파일이 생성됩니다.
  • 링크/런타임 라이브러리 오류가 없습니다.