Gadget Quickstart
이 챕터에서는 아무것도 설치되어 있지 않은 상태에서 시작해, Conda 가상환경 안에서 GADGET-4 예제를 빌드하고 실행해 봅니다.
목표 체크리스트
섹션 제목: “목표 체크리스트”- OS에 맞게 Conda(Miniforge)를 설치합니다.
gadget-lab가상환경에서 빌드 의존성을 준비합니다.- GADGET-4 예제(
DM-L50-N128)를 빌드하고 실행합니다.
Installation
섹션 제목: “Installation”0) WSL2 + Ubuntu 설치/검증
섹션 제목: “0) WSL2 + Ubuntu 설치/검증”먼저 PowerShell/Windows Terminal을 관리자 권한으로 실행하세요.
wsl --install -d Ubuntuwsl --set-default-version 2wsl -l -vwsl --install이 도움말만 나오면 아래를 실행하세요.
wsl --list --onlinewsl --install -d Ubuntu설치가 0.0%에서 멈추면 아래를 시도하세요.
wsl --install --web-download -d Ubuntu재부팅 후 Ubuntu를 열어 Linux 사용자 계정을 만든 다음 설치를 진행하세요.
1) Miniforge 설치 (Ubuntu 터미널)
섹션 제목: “1) Miniforge 설치 (Ubuntu 터미널)”sudo apt updatesudo 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 bash0) Miniforge 설치
섹션 제목: “0) Miniforge 설치”xcode-select --install
curl -L -o ~/miniforge.sh \ https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-$(uname -m).shbash ~/miniforge.sh -b -p "$HOME/miniforge3"
source "$HOME/miniforge3/etc/profile.d/conda.sh"conda init zsh0) Miniforge 설치
섹션 제목: “0) Miniforge 설치”sudo apt updatesudo 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 bash1) gadget-lab 가상환경 생성
섹션 제목: “1) gadget-lab 가상환경 생성”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-labwhich pythonwhich mpiccwhich mpicxxecho "$CONDA_PREFIX"2) 소스 코드 받기
섹션 제목: “2) 소스 코드 받기”cd ~git clone https://gitlab.mpcdf.mpg.de/vrs/gadget4.gitcd gadget4접근 제한으로 git clone이 실패하면, 소속 기관의 공식 배포 경로로 소스를 받아 같은 위치에서 이어서 진행하세요.
3) 빌드 설정 파일 준비
섹션 제목: “3) 빌드 설정 파일 준비”cp Template-Makefile.systype Makefile.systypecp Template-Config.sh Config.shMakefile.systype에서 사용할SYSTYPE를 선택합니다.- 컴파일러가
mpicc/mpicxx를 사용하도록 설정합니다. - GSL/FFTW/HDF5/hwloc 경로는
${CONDA_PREFIX}/include,${CONDA_PREFIX}/lib를 가리키도록 지정합니다.
4) 공식 예제 빌드
섹션 제목: “4) 공식 예제 빌드”make DIR=examples/DM-L50-N128라이브러리 검색 오류가 나면 아래를 적용 후 다시 빌드하세요.
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-N1285) 예제 실행
섹션 제목: “5) 예제 실행”cd examples/DM-L50-N128mpiexec -np 4 ./Gadget4 param.txt6) 빠른 검증
섹션 제목: “6) 빠른 검증”- 실행 로그가 타임스텝을 진행하며 정상 종료됩니다.
- 출력 경로에 스냅샷/로그 파일이 생성됩니다.
- MPI/FFTW/HDF5 링크 오류가 없습니다.