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