HyperAIHyperAI

Command Palette

Search for a command to run...

CP2K_Benchmark 성능 벤치마크 데이터 세트

날짜

7달 전

조직

ETH Zurich(苏黎世联邦理工大学)
University of Basel(巴塞尔大学)
University of Zürich

게시 URL

github.com

Paper URL

doi.org

라이선스

GPL

CP2K 벤치마크 데이터셋은 고성능 컴퓨팅(HPC) 환경을 위해 특별히 설계된 성능 테스트 및 검증 입력 데이터셋입니다. 오픈소스 First Principles 시뮬레이션 소프트웨어인 CP2K에서 파생된 이 데이터셋은 다양한 하드웨어 플랫폼, 병렬화 전략(MPI/OpenMP), 그리고 컴파일 최적화 설정에서 양자 화학 및 분자 동역학 계산의 성능을 평가하는 데 사용됩니다. 과학적 실험 데이터와 달리, 이 데이터셋은 주로 고성능 컴퓨팅 성능 평가(실행 속도, 병렬 효율성, 확장성 등)에 사용됩니다. CP2K 공식 팀에서 관리하고 있습니다. 데이터와 입력 파일은 소스 코드의 benchmarks/ 디렉터리에 있습니다. 관련 논문 결과는 다음과 같습니다.CP2K: 응집물질계의 원자 시뮬레이션"는 2013년에 취리히에 있는 스위스 연방 공과대학, 취리히 대학교, 바젤 대학교 및 기타 기관에서 출판되었습니다.

데이터 세트 구조

데이터 세트는 CP2K 소스 코드 저장소의 benchmarks/ 디렉토리에 있으며, 이 디렉토리에는 여러 하위 디렉토리와 입력 파일이 포함되어 있습니다.

benchmarks/
├── Fayalite-FIST/        # FIST 模块基准,Fayalite 体系
├── QS/                   # Quickstep 模块基准(DFT/MD)
├── QS_DM_LS/             # 线性标度 DFT 基准
├── QS_HFX/               # 混合泛函 HFX 基准
├── QS_diag/              # 对角化算法基准
├── QS_mp2_rpa/           # MP2 / RPA 高精度基准
├── QS_ot_ls/             # 轨道变换线性标度 DFT 基准
├── QS_pao_ml_tio2/       # PAO / ML 势 TiO₂ 基准
├── QS_rubri/             # Rubredoxin 蛋白质基准
├── QS_single_node/       # 单节点 Quickstep 基准
├── QS_stmv/              # STMV 病毒体系基准
├── README.md             # 各基准说明文档

각 하위 디렉토리에는 다음이 포함됩니다.

  • 아키텍처 파일(예: .xyz, .psf, .pdb)
  • CP2K 입력 스크립트(.inp)
  • 참조 에너지 결과 및 출력 템플릿
  • 실행 및 성능 기록 스크립트

데이터 세트 내용

데이터 세트에는 여러 가지 표준화된 벤치마크 문제가 포함되어 있으며, 각각은 전형적인 과학적 컴퓨팅 시나리오를 나타내며, 고전적 분자 동역학에서 ab initio 전자 구조에 이르기까지 다양한 계산 유형을 포괄합니다.

  1. H₂O-64
  • 유형: DFT + 분자 동역학
  • 시스템: 물 분자 64개(원자 192개/전자 512개)
  • 목적: 중간 규모 시스템에서 표준 양자 화학 시뮬레이션의 성능과 확장성을 테스트합니다.
  1. 파이알라이트-FIST
  • 유형: 고전 분자 동역학(FIST 모듈)
  • 시스템: 파이알라이트 결정(Fe₂SiO₄ 슈퍼셀, 약 28,000개의 원자)
  • 목적: 대규모 시스템에서 고전적인 힘장 계산과 장거리 전기장 합산 알고리즘의 성능을 평가합니다.
  1. LiH-HFX
  • 유형: 하이브리드 DFT(HFX 단일 지점 계산)
  • 시스템: LiH 결정(216개 원자/432개 전자)
  • 목적: 멀티스레드 병렬 처리 하에서 하이브리드 교환 기능의 부하와 통신 효율성을 테스트합니다.
  1. H₂O-DFT-LS
  • 유형: 선형 스케일링 DFT
  • 시스템: 물 분자 2048개(원자 6144개)
  • 목적: 대규모 병렬 처리 하에서 선형 확장 알고리즘의 확장성과 메모리 요구 사항을 평가합니다.
  1. H₂O-64-RI-MP2
  • 유형: MP2 방법 + RI 근사
  • 시스템 : H₂O-64와 동일
  • 목적: HPC에서 고차 ab initio 방법의 성능과 계산 오버헤드를 테스트합니다.

벤치마크 실행

일부 벤치마크를 실행하기 전에 필요한 입력 파일(예: 파동 함수 파일)을 생성하기 위한 전처리 단계를 완료해야 할 수도 있습니다. 이러한 준비 사항은 해당 벤치마크 하위 디렉토리의 README.md 파일에 자세히 설명되어 있습니다. 테스트를 시작하기 전에 관련 지침을 읽어보시기 바랍니다. 데이터세트의 벤치마크는 일반적으로 MPI와 OpenMP를 모두 병렬 컴퓨팅에 사용하는 하이브리드 병렬 모드로 실행됩니다. 다음 예제는 각 MPI 프로세스에 두 개의 스레드를 할당하여 벤치마크를 실행하는 방법을 보여줍니다.

export OMP_NUM_THREADS=2
parallel_launcher launcher_options path_to_cp2k.psmp -i inputfile.inp -o logfile.log

안에:

  • parallel_launcher는 mpirun, mpiexec이거나 Cray 시스템의 aprun과 같은 변형이거나, Slurm 작업 스케줄링을 사용할 때 srun입니다.
  • launcher_options는 병렬 실행을 위한 노드 수, MPI 프로세스 수, 노드당 작업 수, 작업당 스레드 수를 지정합니다(OMP_NUM_THREADS 값과 동일해야 함). 병렬 실행 구성이 작업 환경에서 자동으로 설정된 경우 수동으로 지정할 필요가 없습니다.

벤치마크 결과 받기

벤치마크를 실행한 후, 사용자는 로그 파일에 내부 타이밍 정보를 출력하여 CP2K의 실제 실행 시간(실행 시간)을 얻을 수 있습니다. 데이터 세트가 제공하는 모든 벤치마크는 이 타이밍 정보를 로그 파일에 기록하므로 사용자는 다양한 하드웨어나 병렬 구성에서 성능을 더 쉽게 비교할 수 있습니다. 이를 얻는 방법의 예는 다음과 같습니다.

grep "CP2K     "  *.log

또한, 로그 파일의 끝에는 몇 가지 성능 통계가 포함되어 있습니다.

  • DBCSR 통계: DBCSR 모듈의 계산 및 통신 성능 통계를 표시합니다. 처음 몇 행에는 다양한 소형 행렬 블록 크기에 대한 부동 소수점 연산(FLOP) 수와 BLAS, SMM(소형 행렬 곱셈기), GPU(ACC)에서의 이러한 계산 분포가 포함됩니다.
  • DBCSR 메시지 전달 성능: DBCSR 모듈의 MPI 호출 성능 통계를 표시합니다.
  • 메시지 전달 성능: CP2K의 다른 부분에 대한 MPI 통신 성능 통계를 표시합니다.
  • TIMING: 각 함수의 호출 시간과 호출 횟수를 나열합니다.

그림

이 프로젝트는 또한 데이터 세트를 시각화하기 위한 스케일링 차트를 생성하는 Python 스크립트를 제공하며, 해당 스크립트는 다음 디렉토리에서 찾을 수 있습니다.

cp2k/tools/benchmark_plots/

AI로 AI 구축

아이디어에서 출시까지 — 무료 AI 코코딩, 즉시 사용 가능한 환경, 최적의 GPU 가격으로 AI 개발을 가속화하세요.

AI 협업 코딩
바로 사용 가능한 GPU
최적의 가격

HyperAI Newsletters

최신 정보 구독하기
한국 시간 매주 월요일 오전 9시 에 이번 주의 최신 업데이트를 메일로 발송합니다
이메일 서비스 제공: MailChimp