Ausgangsversion für alle Änderungen
Grundlegende Version für alles weitere ist benchmark.sc11.
Roadmap
- [Mathias] Benchmark SC'11 Tag setzen, interner Release PEPC 2.0 PEPC-2.0_internal
Strip-Down, Physik-Kram rausnehmenOutput übernehmenMemwatch rausSortierer und tree_domains aufräumen (z.B. choose_sort weg)Von den Frontends gemeinsam genutzte Module/Routinen in einem Tools-Unterverzeichnis ablegenLOCADDRESS() durch MPI_GET_ADDRESS() austauschenunterstrich-aliase bei c-code mittels "#pragma weak slsort_keys_ = slsort_keys" realisierenwird auf OSX nicht unterstützt, jetzt durch umtauschen der unterstrichenen und nicht unterstrichenen version geloestcopy changes from source:/tags/benchmark-1.5.1
Basis für alle weiteren Änderungen und Entwicklungen ist PEPC-2.0_internal im repository-trunk.
[Lukas & Mathias] ScaFaCos-Version aktualisieren, FMM-Interface übernehmen[Robert] Vortex-Code zurück in das SVN, wenigstens per externalNur via svnadmin möglich, falls history erhalten bleiben soll (siehe hier)source:branches/newstruct
[Alle :-)] Untenstehendes Konzept intialisierensource:branches/newstruct[Paul] Änderungen in den Trunk übernehmen ("Retrunking"), PEPC-B aktualisieren- [Alle] Dokumentation, konsistentes Doxygen #30
- [Lukas & Paul] Externe Zugriffe auf trunk/tarball ermöglichen via Anmeldung?,
Bugtracking-System aufsetzen#31 - [Lukas] JuBE-Verifikation für SC'11 bzw. Version 2.0 #32
- [Lukas] Benchmark-Daten und -Ergebnisse auf benchmark/results #33
- Modifikationen Version 2.x
[Helge] Hilbertkurve[Helge] Branchabschätzung für die Arraygrößen nutzen[Mathias] Teilchenzahl-abhängige Allokationen innerhalb von fields, nicht innerhalb von setup[Mathias] sl_pepcparts entfernen[Lukas] Makefile parallelisieren via -j- [Mathias & Lukas] Alternativen zu sqrt evaluieren: libmass etc. (siehe BGP-Performance) Einfaches ersetzen von -lm durch lmass bringt scheinbar nichts: Beispiel mit 2,000,000 Teilchen auf 32 Nodes JUGENE (Laufzeit in sec. fuer die jeweils ersten drei Zeitschritte):
libm: 21.4807771000 19.8667861000 19.8749619094 libmass: 21.4707042624 19.8570766153 19.8580398953 libmassv: 21.6495978106 19.8648933776 19.8754953612 libmass+qarch450d: 21.7186051141 19.9697114624 19.9818944247 libm+450d: 21.7355234271 19.9969321188 20.0118417459 #34
[Lukas] Erstellung der Unmenge an diagnostic files per flag abschaltbar machen (diag_XX.dat, timings_XX.dat, load_XX.dat)Baumaufbau unabhaengig von gueltigen Labels machen - derzeit darf kein label == 0 sein- ? serial tests with jube #32
- ? test for working MPI_IN_PLACE (during runtime) #35
[Mathias] test for valid pointers during runtime (aka "ifort-problem") - behoben mit ifort 12.1 (jetzt auch auf JuRoPa)- ? integer*8 bzw. *4 sowie Äquivalente für Real durch die kind=...-Notation ersetzen, denn die Stern-Notation ist in Fortran 2003 nicht mehr erlaubt #36
Zuruecksortieren der Teilchen mittels Flag deaktivierbar machen[Mathias] Keine Kopien aller Daten in fields anlegen
Features auf Halde
- Reduced trees
- Memwatch
Gedanken, Konzepte und Visionen Version 3.0
- Neukonzeptionierung der Branches, Fortsetzen des Helge-Ansatzes (Ausquetschen vorhandener Informationen)
- Speicherstatistik reintegrieren, Memwatc portabilisieren
- Weitere Hybridisierung, z.B. Baumaufbau, Sortierer (OpenMP + Pthreads im Konflikt?)
- [Robert] Kontakt zu PKDGRAV, Ideen-Austausch möglich
PEPC-Datenstrukturensource:branches/newstruct[Lukas & Andreas] SPH: Was fehlt PEPC2 für SPH? Nachbarschaftssuche/-liste etc.[Robert] Was fehlt PEPC2 für Vortex?Generischer Datentyp für Partikel, u.a. mitKoordinaten, Schlüssel, pid, label (?)"Physikalische" Größen, z.B. Ladung, Masse, Vorticity, Geschwindigkeit"Technische" Größen, z.B. Kernradius, VolumenZeitintegrator-Variablen: Historie für AB- oder RK-Methoden
Generischer Datentyp für Multipol-Momente bzw. Baumeigenschaften (mehrdimensionale Entwicklung, flexible Ordnung)Verschiedene MACsVerschiedene Summationsroutinen (z.B. mit Komponenten algebraischer Kerne)Flexible workload-Definition (Schwerpunkt Kommunikation oder Rechnung)
- [Lukas & Mathias] Hashtable-Struktur
- Schleifen über die gesamte Hashtable vermeiden (z.B. pack) #9
- Restrukturierung der maxleaf/maxtwig-arrays (warum wechselt eigentlich das Verhältnis) #37
- Branchlets #4
- M Teilchen pro leaf (variabel halten)
- Interaktion im walk zwischen branchlets, nicht mit Teilchen
- Restrukturierung des Baumaufbaus nötig zur Bestimmung der neuen leafs
Bekannte Probleme (evtl. für die Doku)
- MPI_IN_PLACE geht mit OpenMPI auf OSX nicht: https://svn.open-mpi.org/trac/ompi/ticket/1982 - MPICH2 macht keine Probleme
- ifort Version 11: von C aufgerufene Fortran-Callbacks dereferenzieren Pointer-Argumente/Rückgabewerte zu oft: http://software.intel.com/en-us/forums/showthread.php?t=82500
- Inlining auf JUGENE funktioniert bei GetKernelProcessorID() nicht - problemlos zu umgehen, Compilerfix ist bei IBM in Entwicklung (PMR 79073,033,724)
- clock_gettime geht auf OSX nicht, benötigt für Conditional Variables in pthreads
Last modified
12 years ago
Last modified on 03/22/12 11:06:33
Attachments (1)
- pepc_TODO.txt (2.0 KB ) - added by 13 years ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.