Command Palette

Search for a command to run...

LAMMPS-Bench 분자 동역학 벤치마크 데이터 세트

날짜

13일 전

기관

미시간 주립대학교
샌디아 국립 연구소

발행 주소

www.lammps.org

라이선스

GPL

Discord 커뮤니티 참여

*이 데이터 세트는 온라인 사용을 지원합니다.여기를 클릭하여 이동하세요.

LAMMPS 벤치마크 데이터 세트는 다양한 하드웨어나 구성에서 LAMMPS(분자 동역학 시뮬레이션 소프트웨어)의 성능을 테스트하고 비교하는 데 사용됩니다.

이 데이터셋은 과학적 실험 데이터는 아니지만, 컴퓨팅 성능(속도, 확장성, 효율성)을 평가하는 데 사용됩니다. 특정 아키텍처, 역장 파일, 입력 스크립트, 초기 원자 좌표 등이 포함되어 있으며, LAMMPS에서 공식적으로 bench/ 폴더에 제공됩니다.

관련 논문 결과는 다음과 같습니다.LAMMPS – 원자, 중간 및 연속체 규모에서 입자 기반 재료 모델링을 위한 유연한 시뮬레이션 도구", 미시간 주립 대학, 템플 대학 및 기타 기관과 협력하여 Sandia National Laboratories에서 2022년에 출시되었습니다.

이 데이터 세트에는 LAMMPS 문서의 벤치마크 섹션과 LAMMPS 공식 웹사이트의 벤치마크 페이지에 나열된 5개의 벤치마크 문제가 포함되어 있습니다.https://www.lammps.org/bench.html)에 대해서는 .에서 논의합니다.

이 데이터 세트에는 하위 디렉토리도 포함되어 있습니다.

잠재력: LAMMPS의 다양한 잠재력에 대한 벤치마킹 스크립트

이러한 모든 벤치마크의 결과는 LAMMPS 웹사이트의 벤치마크 페이지에서 표시되고 논의됩니다.https://www.lammps.org/bench.html

이 소개의 나머지 부분에서는 데이터 세트에 포함된 다섯 가지 벤치마크 문제와 이를 CPU에서 직렬 또는 병렬로 실행하는 방법을 설명합니다. 하위 디렉터리에는 해당 README 파일이 포함되어 있으며, 스크립트를 실행하기 전에 반드시 읽어야 합니다.


다음은 5가지 벤치마크 질문입니다.

LJ = 원자 유체, 차단 반경이 2.5σ(원자당 약 55개의 이웃)인 Lennard-Jones 퍼텐셜을 사용하고, NVE 앙상블에서 시간적으로 적분함.

사슬 = FENE 결합과 Lennard-Jones 쌍 상호작용을 사용하여 100개의 단량체로 구성된 비드-스프링 폴리머 멜트, 차단 반경 2^(1/6) σ(원자당 약 5개의 이웃)를 사용하여 NVE 앙상블에서 시간 통합됨.

EAM = 금속 고체, 4.95Å의 차단 반경(원자당 약 45개의 이웃)을 갖는 구리(Cu)의 내재 원자 전위(EAM 전위)를 사용하여 NVE 앙상블에서 시간 통합됨.

슈트 = 입자 슈트 흐름, 마찰 이력 항목과 1.1σ의 차단 반경(원자당 약 7개의 이웃)을 갖는 잠재 함수를 사용하고, NVE 앙상블에서 시간적으로 통합됨.

로도(Rhodo)는 용매화된 지질 이중층 내의 로돕신으로, LJ 차단 반경이 10Å(원자당 약 440개의 이웃)인 CHARMM 힘장을 사용하여 계산했습니다. 장거리 쿨롱 상호작용은 입자-입자/입자-네트워크 방법(PPPM)과 NPT 앙상블의 시간 적분을 사용하여 계산했습니다.


다섯 가지 문제는 각각 32,000개의 원자를 포함하고 100개의 시간 간격으로 실행됩니다. 각 테스트는 직렬 벤치마크(단일 프로세서) 또는 병렬로 실행할 수 있습니다. 병렬 모드에서는 각 벤치마크를 고정 크기 또는 확장 크기 문제로 실행할 수 있습니다. 고정 크기 벤치마크의 경우, 동일한 32K 원자 시스템이 서로 다른 수의 프로세서에서 실행됩니다. 확장 크기 벤치마크의 경우, 시스템 크기는 프로세서 수에 따라 확장됩니다. 예를 들어, 256K 원자 시스템은 8개의 프로세서에서 실행되고, 3,200만 원자 시스템은 1,024개의 프로세서에서 실행됩니다.

이 데이터세트에는 서로 다른 머신과 프로세서 수에서 실행된 몇 가지 예시 로그 파일이 포함되어 있으며, 이를 사용하여 결과를 비교할 수 있습니다. 예를 들어, 로그 파일 이름인 log.date.chain.lmp.scaled.foo.P는 P개의 프로세서를 사용하는 머신 "foo"에서 실행된 Chain 벤치마크의 스케일링된 버전을 나타내며, 날짜로 식별되는 LAMMPS 버전을 사용합니다. Eam 및 Lj 벤치마크는 "velocity loop geom" 옵션이 원자 좌표를 기반으로 속도를 할당하기 때문에 머신마다 결과가 완전히 동일하지 않을 수 있습니다. 자세한 내용은 velocity 명령 설명서를 참조하십시오.

실행의 CPU 시간(초)은 로그 파일의 "루프 시간" 줄에 다음과 같이 표시됩니다.

32000개의 원자를 사용하여 100단계에 대한 8개 프로세스에서 3.89418의 루프 시간

다양한 기계에서 이러한 문제에 대한 타이밍 결과는 LAMMPS 웹사이트의 벤치마크 페이지에서 확인할 수 있습니다.


LAMMPS 실행 파일의 이름이 lmp_mpi라고 가정하고 각 문제를 실행하는 방법은 다음과 같습니다.
mpirun 명령을 사용하여 병렬 실행을 시작합니다.

직렬 작업(단일 프로세서):

lmp_mpi -in in.lj

lmp_mpi -in in.chain

lmp_mpi -in in.eam

lmp_mpi -in in.chute

lmp_mpi -in in.rhodo

병렬 고정 크기 실행(이 예에서는 8개 프로세서):

mpirun -np 8 lmp_mpi -in.lj

mpirun -np 8 lmp_mpi -in in.chain

mpirun -np 8 lmp_mpi -in in.eam

mpirun -np 8 lmp_mpi -in.chute

mpirun -np 8 lmp_mpi -in.rhodo

병렬 확장 가능 작업(이 예에서는 프로세서 16개):

mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.lj

mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.chain.scaled

mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.eam

mpirun -np 16 lmp_mpi -var x 4 -var y 4 -in in.chute.scaled

mpirun -np 16 lmp_mpi -var x 2 -var y 2 -var z 4 -in in.rhodo.scaled

슈트 작동의 경우 Pz = 1이 필요합니다.
따라서 P = Px * Py입니다. 변수 x와 y만 설정하면 됩니다.

AI로 AI 구축

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

AI 공동 코딩
즉시 사용 가능한 GPU
최적 가격
시작하기

Hyper Newsletters

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