Seminar: Praktische Quantenchemie

Transcrição

Seminar: Praktische Quantenchemie
Seminar:
Praktische Quantenchemie
Bernd Hartke
Theoretische Chemie
Institut für Physikalische Chemie
5. Stock, Raum 519
Tel.: 0431/880-2753
[email protected]
http://ravel.phc.uni-kiel.de
Sprechstunde: jederzeit!
Prof. Dr. Bernd Hartke, Universität Kiel, [email protected]
Voraussichtlicher Inhalt:
• WAP-Cluster: hardware und Betrieb
• Mini-Crashkurs Quantenchemie
• Gaussian
• Molpro
• Turbomole
Prof. Dr. Bernd Hartke, Universität Kiel, [email protected]
Der PhysChem-WAP-Cluster dirac“
”
Wieso dieser Name?
P. A. M. Dirac (Nobelpreis 1933, zusammen mit Schrödinger; 1932 ging der Nobelpreis
an Heisenberg), Proc. R. Soc. Lond. Ser. A 123 (1929) 714:
The underlying physical laws necessary for the mathematical theory of a
large part of physics and the whole of chemistry are thus completely known,
and the difficulty is only that the exact application of these laws leads to
equations much too complicated to be soluble. It therefore becomes desirable
that approximate practical methods of applying quantum mechanics should be
developed, which can lead to an explanation of the main features of complex
atomic systems without too much computation.
Einige zentrale Fakten:
• dirac ist ein Rechner für die PhysChem, nicht für die Gesamt-Chemie
• steht physikalisch im Rechenzentrum (RZ), gehört aber nicht zu den RZ-Rechnern
• RZ administriert hardware und Betriebssystem
• PhysChem (Hartke) administriert Anwendungssoftware (inkl. Quantenchemie-Programme)
Prof. Dr. Bernd Hartke, Universität Kiel, [email protected]
Technische Daten:
• 23 Einheiten: 1 master, 1 backup-master (master2), 21 Rechenknoten
(der backup-master fungiert auch als Rechenknoten, der master nicht)
• pro Knoten:
– 2 CPUs: AMD Opteron 248, 2.2 GHz (64bit)
– memory: 4 GB, DDR ECC registered PC400
– 2 Festplatten 250 GB, S-ATA, 7200 rpm
– Festplatten-Partitionierung:
∗ disk1: 20 GB System, 4 GB swap, 216 GB /scratch1
∗ disk2: 241 GB /scratch2
• zwei interne Gigabit-Netzwerke, für
1. Datenaustausch paralleler Programme (MPI)
2. normaler Datentransfer, NFS,. . .
• nur im master: 2 weitere Festplatten; Partitionierung:
– disk1: 20 GB System, 4 GB swap, 216 GB /scratch
– disk2: 241 GB /home
– disk3: 241 GB /scratch1
– disk4: 241 GB /scratch2
• nur im backup-master: andere Partitionierung:
– disk1: 20 GB System, 10 GB SuSE, 4 GB swap, 206 GB /home
– disk2: 241 GB /scratch
• nur im master und backup-master:
zusätzlicher Ethernet-Anschluß an die Außenwelt
• Betriebssystem: SuSE Linux Pro 9.1 (kernel 2.6.5)
• Vorrechner helium“ (AK Temps) und pcws20“ (AK Grotemeyer) sind praktisch
”
”
identisch zum backup-master, aber weder physikalisch noch organisatorisch in den
Cluster integriert
Zugang:
• account persönlich einrichten lassen von Herrn Dr. Nielsen (RZ, [email protected],
Tel.: 3581); userid/passwd nach Wunsch
• dirac.phc.uni-kiel.de (ebenso helium und pcws20 im phc-Subnetz)
• nur per ssh/scp (kein telnet/ftp)
• /home kann per Samba auf Windows-Rechnern in der PhysChem direkt sichtbar
gemacht werden → direkter filetransfer per Explorer möglich
Prof. Dr. Bernd Hartke, Universität Kiel, [email protected]
hardware-Hierarchie:
• AK-eigene Standard-PCs für
– intensiv-Interaktives
– input-Entwicklung, Testläufe
– kleinere Produktionsläufe
• WAP-Cluster für
– mittlere Produktionsläufe
– master: interaktiver Zugang, ggf. compilieren/linken, kurze Tests
– eigentliche Produktion: über queueing-System auf den Rechenknoten
– Vorrechner
helium“ bzw. pcws20“ zum vorherigen Austesten
”
”
– accounts: Direktvergabe durch Herrn Nielsen; nicht gekoppelt an RZ-account!
• RZ Kiel: größere Produktion
– NEC-SX5: älterer Vektorrechner (16 Prozessoren); steht kurz vor der Ausmusterung; für Einsteiger nicht mehr interessant; aber Achtung: interessantes
Nachfolgemodell ist in Planung!
– rzcluster: fast eine Kopie von dirac (9 Knoten, je dual-Opteron 246 2.0 GHz,
4 GB memory), aber sehr voll und mit weniger software
(Info unter http://www.uni-kiel.de/rz/rzi/rzi 200401/node4.html
und http://www.uni-kiel.de/rz/hw/rzcluster/)
– altix: modernerer Parallelrechner
accounts: einfaches Antragsformular ausfüllen (Nr.1 und Nr.3 unter
http://www.uni-kiel.de/rz/formulare/), keine weiteren Beschränkungen!
• HLRN: Groß-Produktion
– accounts und Rechenzeit nur auf Antrag (ca. 5 Seiten):
wissenschaftliche Projektdarstellung sowie Rechenzeitabschätzung
– wird 1mal pro Quartal von einem wissenschaftlichen Ausschuß begutachtet
– ich biete individuelle Hilfe beim konrekten Erstellen von HLRN-Rechenzeitanträgen
Prof. Dr. Bernd Hartke, Universität Kiel, [email protected]
Leistung einzelner Prozessoren
quick-and-dirty“ linpack benchmark:
”
(Vorsicht!: Dies sind weder absolut noch relativ korrekte Zahlen:
unterschiedliche Compiler, Optimierungsstufen, Cache-Größen, Bibliotheken, . . . )
Moral:
Einzelprozessoren von Großrechnern sind nicht wesentlich schneller
als Einzelprozessoren moderner Standard-PCs, ggf. sogar langsamer.
Prof. Dr. Bernd Hartke, Universität Kiel, [email protected]
Großrechnernutzung lohnt sich für
Parallelrechnungen auf vielen Prozessoren
und/oder bei sehr großen Datenmengen.
Quantenchemie:
• mindestens grobkörniges Gleichzeitig-Rechnen vieler Einzeljobs, z.B. PotentialflächenScans
• besser: Parallelisierung innerhalb eines Laufs; lohnt sich typischerweise bis etwa 4–16
Prozesse
SGI-Altix im Rechenzentrum Kiel: 128 Prozessoren ( + 2 × 8 )
• 128 Intel-Itanium2-Prozessoren, 1.3 GHz
• zusätzlich 2 Frontends mit je 8 Prozessoren
• Speicher: 512 GByte insgesamt (4 GB pro Prozesor, shared memory)
• Plattenplatz: 3 TByte insgesamt
• schnelle Kommunikation zwischen den Knoten
• Info: http://www.uni-kiel.de/rz/nvv/altix/
Prof. Dr. Bernd Hartke, Universität Kiel, [email protected]
Norddeutscher Verbund für Hoch- und Höchstleistungsrechnen (HLRN)
(Niedersachsen, Berlin, Mecklenburg-Vorpommern, Schleswig-Holstein, Hamburg, Bremen):
je 512 Prozessoren am RRZN (Hannover) und am ZIB (Berlin)
Am RRZN und am ZIB jeweils:
• 512 IBM-Power4-Prozessoren, 1.3 GHz
• Speicher: 1.25 TByte insgesamt (ca. 2 GB/proc)
• Plattenplatz: > 20 TByte
• schnelle Kommunikation zwischen den Knoten
Verbindung zwischen RRZN und ZIB: 2 GBit/s
Prof. Dr. Bernd Hartke, Universität Kiel, [email protected]
Mini-Crashkurs Linux:
• einloggen: ssh <userid>@dirac.phc.uni-kiel.de
• Verzeichnis-Navigation: cd, ls
• files: cp, mv, more/less
• Editoren: vi, emacs
• Systembelastung, jobs: top, ps
• Information: man, info
Auf Linux-Rechner von Windows aus zugreifen:
• Linux-artige Emulation (z.B. CygWin); darin xterm und ssh/scp; im XServer-Modus
auch X-Applikationen, die auf dem Linux-Server laufen, lokal darstellbar;
• direkt unter Windows: ssh-fähige Terminal-Emulationen (z.B. F-Secure SSH, putty),
scp-fähige file-transfer-Programme (z.B. F-Secure SSH File Transfer, pscp), XServer
unter Windows (z.B. Xwin32)
(genannte software kostenfrei oder mit Campuslizenz verfügbar)
• andere Datentransfer-Möglichkeit: direkt im Windows-Explorer auf dirac:/home zugreifen (Netzwerkressourcen)
Mini-Crashkurs queueing-System PBS/torque:
• jobs abschicken: qsub <scriptname>
• jobs löschen: qdel <jobid>
• queues ansehen: qstat -a
• Optionen (auf der Kommandozeile oder im Skript):
– -l: Ressourcen-Anforderungen: CPU-Zeit, real-Zeit, Anzahl CPUs, memory, . . . ;
Maschinen- und Implementations-abhängig ⇒ immer Manuale konsultieren!
– -e <filename>, -o <filename>: Umlenken von error/output-files
– -m abe: mail-Benachrichtigung bei job-abort/begin/end
(explizite Anforderung bestimmter queues wird in der Regel nicht gewünscht)
Prof. Dr. Bernd Hartke, Universität Kiel, [email protected]
Einige Praxisaspekte:
• queue-Strukturen auf altix und HLRN
• Kettenjobs: am Ende eines PBS-Jobs einen neuen starten
• CPU-Sets“ auf altix: ein job blockiert den Prozessor, auf dem er läuft, für andere
”
Jobs
• keine CPU-Sets ⇒ Rechner kann im Prinzip mehr Jobs verarbeiten, als Prozessoren
vorhanden sind; bei kleinen jobs tragbar, bei großen jobs starker Leistungsabfall
durch swappen
• memory: swap auf Platte kann mehr memory simulieren als vorhanden; ist aber
extrem langsam.
Diagnose: swap-Dämon (kswapd) verbraucht viel Rechenzeit (ps)
• Integralfiles immer nur lokal auf den scratch-Platten der jeweiligen Rechenknoten
anlegen! Sonst gehen zig GB über das Intra-Cluster-Netzwerk.
Prof. Dr. Bernd Hartke, Universität Kiel, [email protected]
Vorläufige Betriebsregelungen auf dirac:
• dirac ist von außen“ nicht sichtbar, nur innerhalb der PhysChem ⇒ immer erst
”
auf einem PhysChem-Rechner einloggen, dann auf dirac gehen
• auch von der PhysChem aus ist nur dirac (intern = master) sichtbar; auf die
einzelnen Knoten kommt man nur vom master-Knoten aus
• jobs abschicken (und compilieren, linken, usw.) nur auf dem master; einloggen
auf anderen Knoten nur im Notfall zu Diagnosezwecken (Rettungsaktionen bei
job-Absturz), dort niemals jobs am queueing-System vorbei abschicken
• Übersicht über Gesamtstatus von dirac: ganglia;
zugänglich von beliebigen Rechnern in der PhysChem via web-browser:
http://dirac.phc.uni-kiel.de/ganglia-webfrontend/
• vorläufig nur eine Queue, ohne memory- oder Zeitlimits (!): batch queue;
seriell und parallel möglich; lediglich Limitierung auf 4 gleichzeitige jobs pro user
(per PBS sollte es eigentlich nicht möglich sein, mehr jobs zu starten als Prozessoren
vorhanden sind. pbsnodes -a“ zeigt für mit 2 jobs belegte Knoten state = job”
”
exclusive“ an. Wenn das für alle Knoten der Fall ist, zeigt qstat -s“ an: Not
”
”
Running: No available resources on nodes“.)
• Festplatten:
– dirac:/home fuer user-Daten, aber nicht permanent; nur das, was für die aktuell
laufenden jobs nötig ist. Auswertung/Archivierung auf lokalen PCs!
– /scratch nur für Integralfiles von Quantenchemie-Programmen u.ä.; dort nach
Programmläufen alles beseitigen, wenn das das Programm nicht selber macht
• backup:
– /home: automatisches inkrementelles backup durchs RZ (Stand irgendeines Tages
der letzten zwei Wochen kann eingespielt werden)
– /scratch: keinerlei backup; keine Garantie auf Erhalt irgendwelcher Dateien
nach Job-Ende
Prof. Dr. Bernd Hartke, Universität Kiel, [email protected]
Hinweise für Entwickler:
• compiler:
– PGI
– intel
– gcc
• libraries:
– BLAS, ATLAS
– LAPACK
– ACML
– NAG, IMSL, NumRec, . . .
• Parallelisierung: MPI

Documentos relacionados