Command Palette
Search for a command to run...
LAMMPS-Bench-Benchmark-Datensatz Für Molekulardynamik
Datum
Veröffentlichungs-URL
Paper-URL
Lizenz
GPL
*Dieser Datensatz unterstützt die Online-Nutzung.Klicken Sie hier, um zu springen.
Der LAMMPS-Benchmark-Datensatz wird verwendet, um die Leistung von LAMMPS (Software zur molekularen Dynamiksimulation) auf unterschiedlicher Hardware oder Konfigurationen zu testen und zu vergleichen.
Diese Datensätze sind keine wissenschaftlichen Versuchsdaten, sondern dienen der Bewertung der Rechenleistung (Geschwindigkeit, Skalierung, Effizienz). Sie enthalten spezifische Architekturen, Kraftfelddateien, Eingabeskripte, anfängliche Atomkoordinaten usw. und werden von LAMMPS offiziell im Ordner „bench/“ bereitgestellt.
Die relevanten Papierergebnisse sindLAMMPS – ein flexibles Simulationstool für die partikelbasierte Materialmodellierung auf atomarer, mesosomaler und kontinuierlicher Ebene", veröffentlicht im Jahr 2022 von Sandia National Laboratories in Zusammenarbeit mit der Michigan State University, der Temple University und anderen Institutionen.
Dieser Datensatz enthält 5 Benchmark-Probleme, die im Abschnitt Benchmark der LAMMPS-Dokumentation und auf der Benchmark-Seite der offiziellen LAMMPS-Website aufgeführt sind (https://www.lammps.org/bench.html) werden in besprochen.
Dieser Datensatz enthält auch ein Unterverzeichnis:
POTENZIALE: Benchmarking-Skripte für verschiedene Potenziale in LAMMPS
Die Ergebnisse all dieser Benchmarks werden auf der Benchmark-Seite der LAMMPS-Website angezeigt und diskutiert:https://www.lammps.org/bench.html
Der Rest dieser Einführung beschreibt die fünf im Datensatz enthaltenen Benchmark-Probleme und wie diese auf einer CPU (entweder seriell oder parallel) ausgeführt werden. Die Unterverzeichnisse enthalten die entsprechenden README-Dateien, die vor der Ausführung dieser Skripte gelesen werden sollten.
Hier sind 5 Benchmark-Fragen:
LJ = Atomflüssigkeit, unter Verwendung des Lennard-Jones-Potenzials mit einem Grenzradius von 2,5 σ (ungefähr 55 Nachbarn pro Atom), zeitintegriert im NVE-Ensemble.
Kette = Perlen-Feder-Polymerschmelze, bestehend aus 100 Monomeren, unter Verwendung von FENE-Bindungen und Lennard-Jones-Paarwechselwirkungen mit einem Grenzradius von 2^(1/6) σ (ungefähr 5 Nachbarn pro Atom), zeitintegriert im NVE-Ensemble.
EAM = metallischer Feststoff, unter Verwendung des eingebetteten Atompotentials (EAM-Potenzial) von Kupfer (Cu) mit einem Grenzradius von 4,95 Å (ungefähr 45 Nachbarn pro Atom), zeitintegriert im NVE-Ensemble.
Chute = körniger Rutschenfluss unter Verwendung einer Potentialfunktion mit einem Reibungsverlaufsterm und einem Grenzradius von 1,1σ (ungefähr 7 Nachbarn pro Atom), zeitintegriert im NVE-Ensemble.
Rhodo = Rhodopsin in einer solvatisierten Lipiddoppelschicht unter Verwendung des CHARMM-Kraftfelds mit einem LJ-Grenzradius von 10 Å (ungefähr 440 Nachbarn pro Atom). Langreichweitige Coulomb-Wechselwirkungen wurden mit der Partikel-Partikel/Partikel-Netzwerk-Methode (PPPM) und der Zeitintegration im NPT-Ensemble berechnet.
Jedes der fünf Probleme enthält 32.000 Atome und wird über 100 Zeitschritte ausgeführt. Jeder Test kann als serieller Benchmark (Einzelprozessor) oder parallel ausgeführt werden. Im Parallelmodus kann jeder Benchmark als Problem mit fester oder skalierter Größe ausgeführt werden. Bei Benchmarks mit fester Größe wird dasselbe 32K-Atomsystem auf unterschiedlichen Prozessorzahlen ausgeführt. Bei Benchmarks mit skalierter Größe skaliert die Systemgröße mit der Anzahl der Prozessoren. Beispielsweise läuft ein 256K-Atomsystem auf 8 Prozessoren; ein 32-Millionen-Atomsystem auf 1.024 Prozessoren usw.
Dieser Datensatz enthält einige Beispiel-Logdateien von Läufen auf verschiedenen Maschinen und mit unterschiedlicher Prozessoranzahl, die Sie zum Vergleichen Ihrer Ergebnisse verwenden können. Beispielsweise stellt der Logdateiname log.date.chain.lmp.scaled.foo.P eine skalierte Version des Chain-Benchmarks dar, der auf Maschine „foo“ mit P Prozessoren unter Verwendung der durch das Datum identifizierten LAMMPS-Version ausgeführt wurde. Beachten Sie, dass die Eam- und Lj-Benchmarks auf verschiedenen Maschinen möglicherweise nicht exakt dieselben Ergebnisse liefern, da die Option „velocity loop geom“ Geschwindigkeiten basierend auf Atomkoordinaten zuweist – weitere Informationen finden Sie in der Dokumentation zum Velocity-Befehl.
Die CPU-Zeit (in Sekunden) der Ausführung wird in der Zeile „Loop time“ der Protokolldatei angezeigt, zum Beispiel:
Schleifenzeit von 3,89418 bei 8 Prozessen für 100 Schritte mit 32.000 Atomen
Zeitergebnisse für diese Probleme auf verschiedenen Maschinen finden Sie auf der Benchmark-Seite der LAMMPS-Website.
So führen Sie jedes Problem aus, vorausgesetzt, die ausführbare LAMMPS-Datei heißt lmp_mpi:
Und verwenden Sie den Befehl mpirun, um die parallele Ausführung zu starten:
Serieller Betrieb (Einzelprozessor):
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
Parallele Läufe mit fester Größe (8 Prozessoren in diesem Beispiel):
mpirun -np 8 lmp_mpi -in in.lj
mpirun -np 8 lmp_mpi -in in.chain
mpirun -np 8 lmp_mpi -in in.eam
mpirun -np 8 lmp_mpi -in in.chute
mpirun -np 8 lmp_mpi -in in.rhodo
Paralleler skalierbarer Betrieb (in diesem Beispiel 16 Prozessoren):
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
Für den Rutschenbetrieb ist Pz = 1 erforderlich.
Also P = Px * Py, setzen Sie einfach die Variablen x und y.
KI mit KI entwickeln
Von der Idee bis zum Start — beschleunigen Sie Ihre KI-Entwicklung mit kostenlosem KI-Co-Coding, sofort einsatzbereiter Umgebung und den besten GPU-Preisen.