Todo Kroeker
From CRCG-Wiki
TODO Jakob
Anm.: Die Todo- und Done-Listen können unvollständig sein.
Projekte
- centerfocus
- Schnelles Rechnen über endlichen Körpern in Macaulay2
- centerfocus: technical report...
- parallele LLL implementierung in Macaulay2
- Unterstützung anderer Forschergrupen CRCG
- Problem von Prof. Bartholdi
- .dot-Parser für Franziska
- Potenzielle Aufgaben fuer Hiwi aufstellen - Markiere diese Aufgaben mit (H)
- Zusammenarbeit Singular-Entwickler
- Projekt mit Prof. Ingrid Bauer-Catanese?
- Idee kam HC beim Vortrag "Algebraische Flächen vom Geschlecht 0: von Max Noether bis heute".
- Infrastruktur
- FiveSections
- ggt Performance Vergleich (eigene Implementierung für Spezialfälle und Singular-Factory)
- Autotuning: zentrale db mit optimalen Parametern je nach vorliegender Hardware. (ermittelt aus Benutzerdaten)
- Nutzungsstatistik für Funktionen (ermittelt aus Benutzerdaten)
TODO-Verwaltung:
- Verbesserung der Priorisierung: javascript-Tabelle (tablekit?) einbinden?
- Ticketsystem auf www.centerfocus installieren - mantis, gtodo oder andere...
centerfocus
- Frommer Algorithmus in SAGE
- naechster Artikel:
- Gliederung
- Performancevergleich Kodimension-Korrektur durch Zerlegen der Quadriken und Kodimension-Korrektur durch Punkteeinsetzen.
- Wie gross sind die Laufzeitunterschiede für die Idealzerlegung bei verschiedenen Variablenordnungen /Monomordnungen?
- Ist die Strategie 'mehrere Berechnungen starten' und auf das schnellste Ergebnis warten vertretbar?
- Vektor-Matrix-Multiplikation Geschwindigkeit in C++ messen, Dimension kleinerGleich 14.
- Vogon Poetry Ideale an Wolfram schicken
- centerfocus: Bezeichnung des Eingabeparameters minComponentCodim nicht ganz zutreffend
- Integralkurven-Projekt
- Für alle Punkte in der DB die Integralkurven ausrechnen und in der DB speichern und eventuell die Integralkurvenberechnung in centerfocus einbinden. Dauer: Tage
- Dokumentation
- Skala für Dokumentationsqualität festlegen, Dauer Stunden
- Dokumentationsaspekte definieren, Dauer Stunden
- vorhandene Doku bewerten, anhand der Bewertung TODO-Punkte ni TODO-Liste einfügen, Dauer Stunden
- Dokumentation vervollständigen, Dauer min. 1 Monat
- Tests dokumentieren
- ToDo in einem geeigneten Tool digital erfassen, priorisieren. Dauer Tage
- mehr Rechner
- Account bei www.csi.cuny.edu/cunyhpc , Ansprechpartner Michael Kress
- Profiling
- Performance Zeitmessungen von centerfocus in verschiedenen Versionen in die DB eintragen
- Operationen 'plus' und 'mal' zählen, unabhängig von deren Realisierung
- Glattheitstest
- Messen, wie lange das Duplizieren von Daten dauert, bevor man Multimedia Register nutzen kann
- Glattheitstes nochmal mit Callgrind und Cachegrind untersuchen.
- Zeitmessungen für die Quadrikzerlegung - Zeitstatistiken für verschiedene Typunterteilung bereitstellen : Typen nach Quadrikenrang, nach Ergebnis, nach benötigter Zeit unterteilen
- memusage misst den Speicherverbrauch nicht korrekt... time misst auf mathpc26 korrekt,liefert aber auf den GaussRechnern '0 Kbytes'
- Optimierung:
- das Erkennen der beiden Komponenten mit Codimension 6 würde insgesamt eine Geschwindigkeitssteigerung von c.a. 16 Prozent bringen. (Glattheitstests fallen weg)
- herausfinden, ob die Verwendung von SSE Registern für die Berechnung der Strudelgrößen einen Zeitvorteil bringt, Dauer: Wochen
- eventuell den Algorithmus unter Zuhilfenahme von OpenCL auf Grafikkarten implementieren.
- dreiwertige Tabelle für AccMult
- Parallelisierung mit OpenMP
- Optimierung Basisdatentypen: je nach Architektur automatische Laufzeittests durchführen und Ergebnisabhängig Datentypen wählen
- PHCpack berücksichtigen
- abgearbeitete Ausgabedateien nicht ins svn einchecken (ok), sondern monantsweise packen (ok, manuell) und auf gwdg gespiegelt (todo). (Verzeichnis über sshfs auf gaussxx einbinden und dann Dateien per skript kopireren?)
- soll der Download-Ordner ins interne Backup ?
- Glattheitstest
- Algorithmus überprüfen, da zumindest im ersten Schritt ein Element aus dem Kern der Jacobi-Matrix <>0 verwendet werden soll - Status: code korrigiert, Algorithmus muss noch nachvollzogen werden.
- Schätzen der Wahrscheinlichkeit, dass ein nichtglatter Punkt übersehen wird bei gegebenen 'maxLift' und 'liftTrials'
- Ergebnis des Glattheitstests dreiwertig: nichtglatt, wahrscheinlich glatt, mit Sicherheit glatt. Mit Sicherheit glatt ist ein Punkt, wenn er auf einer bekannten Komponente liegt und maximalen Rang hat.
- Zwecks Nachvollziehbarkeit eventuell einen Punkteigenschaft 'implizit/explizit' einführen: Glattheitsinformation wurde implizit(glattheit: sicher)/explizit(nichtglattheit:sicher, Glattheit:unsicher) gewonnen
- statt eigenem Parsercode fertige Parser einsetzen
- Installer für centerfocus
- herausfinden, wie man den Bibliothekspfad (-L) bzw. den Pfad zu Headerdateien in CMAKE angibt
- Scons: herausfinden, wie man mit Scons feststellt, ob bestimmte Pakete in der passenden Version (32Bit/64Bit) installiert sind (Popt, Blas)
- Webfrontend für centerfocus
- Webfrontend: Punkt über F_q wird eingegeben, Integralkurven werden ausgerechnet, Dauer Wochen
- Webfrontend für Punkt über QQ Dauer Wochen
- centerfocus:Bugs
- Statt primitiver Datentypen für Integer (architekturabhängig) Datentypen mit definierter Größe verwenden
- Datenbank
- LiftTest
- in der DB liftTestPassed zu notNonSmooth ändern. Und nochmal klären, wie minLift und liftTrials als Standard gesetzt werden.
- fuer Statistikorrektur-Experimente ebenfalls eine Id festlegen (random?), damit Dinge nicht doppelt eingetragen werden.
- bigint fuer codimCorrectionList_ID ueberdimensioniert
- eventuell auch 8er Punkte immer in die DB eintragen und DB auf das GWDG-Rechenzentrum packen
- Problem mit den Defaultwerten in Tabelen, obwohl not NULL und kein Default festgelegt wird wohl erst ab MYSQL 5.0 gelöst => Server update (DONE)
- Da jetzt der Server aktualisiert wurde Problem mit Defaultwerten lösen (TODO)
- da ich einige Daten nachträglich geändert hatte (Fehler im Eintrageskript) fehlt ein Konzept um die Nachvollziehbarkeit zu erhalten.
- LiftTest
- korrekte Fehlerschätzung für die Komponentenanzahl überprüfen
- Frommer-Algorithmus (plus drumherum) in Java oder D ? (Der Vorteil ist, dass viele Studenten Java können), Dauer Monate
- Programm auf OpenCL umstellen und auf Grafikkarten rechnen
- Punktfilter
- es muss entschieden werden, ob man die FilterParameter explizit speichert, (beeinflussen nicht die Punktstatistik aber sehr wohl die Varianz bei der Kodimensions-Korrektur)
- Webseite
- Backupfunktionalität vom Webserver testen
- eventuell statt onClick OnMouseDown für die Menüs auf 'centerfocus.de' verwenden
- ist es ein Problem, den gleichen Zufallsgenerator nicht nur für Punkterstellung sondern auch für Lifts und Punktfilter zu verwenden?
- Lift nach Q
- p-adisches Rechnen
- p-adisches Rechnen in Kombination mit epsilon-Rechnung
- symmetrische Punkte nach Stabilisator gruppieren und für die DB entsprechend taggen
- Kodimension-Korrektur
- decomposeConeAPI.magma evtl. in den c++-Quellcode integrieren , damit es keine Probleme bei der Dateibearbeitung gibt.
- eventuell mehrere 'codimProfile-Tabellen' anlegen, für jede SpeicherVerbrauchMessMethode eine.
- für Magma den BasisSpeicherverbrauch speichern.
- minimal associated prime decomposition also with Maple and CoCoA; (Sage uses Singular to compute primary decomposition).
- für Zufallsversuche mit Korrektur der Kodimension neuen Parameter einfuehren: Liste mit parallel/seruekk zu startenden Tools und entsprechenden Parametern.
- Weitere Tabelle (corrInfo) in DB einfuehren, welche timerMethod, memoryUsageMethod und correctionMethod von Exp.Info trennt.
- Skript zur Sortierung von Punkten verallgemeinern und einchecken
- Quadriklisten:
- centerfocus soll online Quadriklisten generieren koennen
- Quadriklisten in der DB speichern
- eventuell Ausgabeliste aufteilen, damit Macaulay nicht so viel Speicher verbraucht?
- Hamilton-KomponentenCheck in Macaulay implementieren
- epsilon-Rechnung in Macaulay implementieren
- Bugfixing
- Generell: vergleiche Ergebnisse gleicher Funktionen verschiedener CAS miteinander. Die Eingabe zufällig generieren.
- Um Komponenten der Kodimension 9 vollstaendig zu klassifizieren sind evtl. Versuche mit hoeheren Charakteristiken notwendig (59, etc.) . Status: Versuche mit Charakteristik 59 gestartet.
- Punkte mit Charakteristik 61 sortieren, dazu das Programm von Hr. Steiner benutzen (DONE)
- Punktsortieralgorithmus generalisieren, automatisieren, dokumentieren, einchecken.
- centerfocus Programmregistrierung ueberarbeiten, damit diese auch ohne direkten Kontakt zur DB funktioniert (make.py) ? - wichtig fuer Rechnen auf GWDG-Ressourcen
- Abfrageformulare:
- auf der QueryDatabase-Seite: einheitliche 'Hints'
- Statistikabfrageformular: verfügbare Charakteristiken aus der DB abfragen; Benutzerführung bezüglich möglicher Abfrageparameter verbessern.
- in der Punktabfrage einzelne PointID angeben
- Charakteristik Feld als ComboBox mit allen möglichen Werten aus der DB.
- ComboBoxen fuer meherere Felder in der Statistik- und Punktabfrage
- Integralkurven Lifts anders implementieren , so dass diese nicht von der Charakteristik abhängig sind.
- centerfocus: Tests / Bugfixing:
- Punkte aus der DB als input
- Test für neues Ausgabeformat
- Speicherleck in der Berechnung der Integralkurven im Macaulay2-Teil finden
- Idealzerlegung; Korrektheitstest in Singular
- Alle Punkte in der DB mit Macaulay2 überprüfen?
- enthält centerfocus::Pointfilter noch bugs?
- centerfocus: Checkpointing
- Checkpunkte nicht in die gwdg-Verzeichnisse schreiben, die gesichert werden.
- Checkpointing funktioniert nicht zusammen mit externen Programmaufrufen ( Kodimension-Korrektur)
todo Schnelles Rechnen über endlichen Körpern in Macaulay:
- eigene Ringimplementierung ist für sehr kleine Charakteristiken vermutlich noch schneller als die von FFPACK.
- maximal verwendbare Charakteristik für FFPACK- und givaro- endliche Körper feststellen, bzw. testen, ob Überschreitung der maximal zulässigen Werte zuverlässig erkannt werden.
- neben 'GfqDom' weiteren endliche Körper-Objekte testen.
- valgrind tests
- shipped lapack does not compile as shared lib on my pc
- using installed blas does probably not configure correctly at least for givaro
- Merke: givaro hängt weder von ffpack noch von linbox ab, also muss givaro zuerst gebaut werden, dann ffpack, dann Linbox.
- what is wrong with givaro configure files (Dan) ?
- Belohnung für Finden von Fehlern ?
- Aufruf externer Funktionen aus Macaulay2 in HowTo eintragen
- Ähnlich wie in Singular feststellen, ob sagemath eingebunden werden kann
- Kompilierschwieigkeiten fflas_ffpack wegen blas klaeren und fuer alle beheben
- muss im svn-ordner configure aufgerufen werden?
- multible definition of FFPACK::Failure::_errorStream (in debug.h) klaeren: Headerabhängigkeiten zur Hilfe ziehen (doxygen).
- patch fflas-ffpack/utils/debug.h: put Failure definition into an anonymous namespace and create a patch: 'diff -u original.c new.c > original.patch'
- look at the coercion rules (most natural conversions between rings) in SAGEmath
- adapt DlLanguage to get closer to Macaulay2 syntax? ; Write /prepare algorithms in such way, that for some input instead of NTL-Numbers word-sized integers, doubles etc. can be used.
- Profiling : erste Näherung ist der Einsatz von sysprof
- zweite näherun: lcov+gcov? (gcov erzeugt .gcov -dateien; Aufruf von 'gcov -c ... ' die Ausgabe enthält Zähler der Aurfufe/Zeile)
- to be able to generate code coverage, set '-fprofile-arcs -ftest-coverage -g' in $CXXFLAGS, CFLAGS, FFLAGS ,set $LIBS=-lgcov; configure M2 with 'disable-optimize' option .
- LIBS variable is not use to build gfan.. => link with lgcov by hand
- maybe ok: external libraries are compiled with optimization flags, regardness of '--disable-optimize' option during configure.
- in addition, Macaulay2/c/Makefile.in has to be modified : scc1 target is created via $(CC) $(LDFLAGS) $(CFLAGS) $(OFILES) $(LOADLIBES) $(LIBS) -o scc1
- configure M2 with option enable-debug => Assertion `(p) == 0 || 0 == GC_check_annotated_obj(GC_base((void *)(p)))' failed.
- find matrix.rank calls in Macaulay code - potential for improvement via FastLinearAlgebra.
- beim Parallelisieren auf gemeinsam verwendete Variablen (z.B. Liste der irreduziblen Polynome) achten.
- visit Ithaca in April-May 2012
- look at LELA (Author: B.Hovinen )
- Ideen zu GF(p^n)
SSP
bei der Angloamerikanischen Suche/Zeitschriften werden nicht alle Zeitschriften zu einem Buchstaben angezeigt und man kann auch nicht blättern
SAGEmath
- Schnittstelle zu Macaulay2 hat Probleme und ist etwas dürftig; kann mich aber jetzt nicht darum kümmern
- bei ungewöhnlichen Pfaden /usr/local/ oder Links zu der Binary (bash-script) hat sage ebenfalls Probleme, Macaulay2 auszuführen
- toString funktioniert nicht, toExternalString aber schon
- werden die Probleme durch die Zusammenfassung(?) von stderr und stdout von Macaulay verursacht?
- macaulay2("") funktioniert besser als %macaulay2
FFPACK /LinBox
- FFPACK::fgemv Dokumentation ist nicht klar genug
- FFPACK::rowRankProfile documentation problem?
- die Entfernung der Warnungen in ffpack überdeckt möglicherweise Fehler - die Entwickler von Givaro darauf hinweisen, dass man die Warnungen lieber bestehen lassen sollt, statt diese nur syntaktisch zu enfernen.
- in Ubuntu (auch letzte Version 11.04) mitgelieferte Givaro-Version enthält Fehler!
- in Lidia ab Version 2.3 heisst das include-Verzeichnis nicht mehr 'LiDIA' sondern 'lidia'
Unterstützung anderer Forschergrupen CRCG
- GAP: Sage in GAP benutzen?
- Anleitung zur Benutzung der SGE schreiben
- Mail Projekt Mihailescu (refactoring)
- Checkpointing
- virtualBox Performance testen - Teilweise erledigt: auf vorhandene Benchmarks zugegriffen. Wenn die Benchmarks stimmen, fällt der Einsatz der Virtualisierung zwecks sicheren Betriebs/checkpointing flach.
- online verfügbare Benchmarkresultate lassen vermuten, dass der Performanceeinbruch 30-50% betragen kann (http://media.cdn.ubuntu-de.org/forum/attachments/2274890/Vergleich%20Win7%20VmWare%20Virtbox.pdf).
- Link: ein XEN, VirtualBox, vMVare Vergleich: http://www.ilsistemista.net/index.php/virtualization/1-virtual-machines-performance-comparison.html?start=18
- Wird Performance Problem durch Verwendung von SSE verursacht?
- virtualBox Performance testen - Teilweise erledigt: auf vorhandene Benchmarks zugegriffen. Wenn die Benchmarks stimmen, fällt der Einsatz der Virtualisierung zwecks sicheren Betriebs/checkpointing flach.
nxnxn
- Bezeichnungen in der Dokumentation von nxnxn an die Bezeichnungen im Paper anpassen
.dot Parser fuer Franziska
- PyGraphviz: sind inline subgraphen gemaess graphviz-Spezifikation erlaubt ? Wenn ja, hat die libcgraph damit Probleme und somit einen Bug.
- Doku verbessern
Verbesserung d. Ausbildung
- Abschlussarbeiten athematik
- Kurzeinführung in SE erhalten für Professoren. Jemanden aus der Industrie bzw. vom Sage- Team einladen der dazu ein paar interessante Geschichten erzählt.
- Prüfungsordung
- für Nebenfach Informatik sollte 'Software Engineering I' als Pflichtvorlesung, bzw. Voraussetzung für alle Programmierkurse eingetragen werden (auch Macaulay/Singular/Matlab etc.)
- in dieser Vorlesung sollten zumindest 'code conventions', Analyse, Entwurf, Testen und Dokumentation/Wartbarkeit von Software behandelt werden
- Techniken zur Durchführung von Tests, Dokumentation und Wartbarkeit sollten bei allen angebotenen Programmierkursen thematisiert werden. (Jedes Skript ist auch ein Stück Software!)
- für Nebenfach Informatik sollte 'Software Engineering I' als Pflichtvorlesung, bzw. Voraussetzung für alle Programmierkurse eingetragen werden (auch Macaulay/Singular/Matlab etc.)
- Literaturhinweise für SoftwareEngineering raussuchen
- Basic introduction: [short introduction to software engineering ] [long introduction to software Engineering]
- Management/Organization "The mythical Man-Month",
- Social aspects: "Peopleware" - Tom DeMarco
- Refactoring: "Refactoring" from Martin Fowler
- Coding Standards: "C++ coding standards" from Sutter, Alexandrescu
- Software Engineering: "Fundamental principles of software engineering - a journey", Bourque et al.
Rational function search with special multiplicity
- Implementierung in sagemath
- DONE: Problem mit char p Methode gelöst, es bleiben aber noch offene Fragen :
- alternatives numerisches Lösungsverfahren implementieren
- Test der Routinen fuer große Charakteristiken überlegen.
- Automatischer Test für kleine Charakteristiken, Vorgabe: Liste der Multiplizitätsstruktur aus Macaulay2.
- wie kann man das Problem mit Hilfe von Groebnerbasen lösen?
- Artikel schreiben
- Sichere Methode für optionale Parameter in Macaulay - in google groups posten - DONE: use protect
- Kann man den Algorithmus für die Suche des Punkts 43222 über Charakteristik p verallgemeinern für vorgegebene Multiplizität? -> zumindest teilweise. (unter Nutzung von next_permutation und next_combination, siehe Macaulay2-Implementierung)
- Implementierung in pari/gp? -> Nein.
- Implementierung der Punktsuche auf Grafikkarten? - vielleicht
- parallelisierung (zumindest SMP)
- next_permutation() fuer Macaulay2 ? Nutze phobos (d language stl) oder boost (c language stl)
- fragen, ob es moeglich ist, lokale Variablen an eine ausserhalb definierte Funktion zu binden - ist das ähnlich zu 'closures'?
- program search part in D language
- integration von C++ Code im Macaulay2-Paket möglich?
- Unendlich muss in A,C einmal vorkommen - sonst kann man die Korrektheit der Multiplizitätsstruktur von B nicht sicher erkennen, es sei denn mann kennt den Grad des Polynoms im Voraus (tut man!). DONE
- Diskriminante ausrechnen : HC fragen
- Schätzen der Kodimension ( Stichwort shape-entries -1 )
- Bei manchen Beispielen stimmt Zerlegung(factor) und die mit Hilfe von Ableitungen berechneter Multiplizitätstruktur nicht überein. DONE
- consider Macaulay2-package "points"
- support limiting memory usage and time
- memory leak when creating irreducible polynomial lists?
- doppelte Beispiele aussortieren ? DONE, 4 Stunden
- Ideal automatisch hinschreiben DONE,
- Punkt automatisch extrahieren DONE
- Singular-Factory request thread safety and optimization ( using SSE registers)
- Macaulay2 Fehler: duplicate large block deallocation. Prüfe gerade reproduzierbarkeit.
- random search?
- reorder pointSet at the end if shapeList was reordered? - No, since it is an equivalent formulation.
- Macaulay2 needsPackage lädt nicht die exportierten symbole; man braucht explizit loadPackage...
- unique in Macaulay2 funktioniert nicht wie erwartet - gleiche objekte werden nicht herausgefiltert.
- Dokumentation: mind 12 Stunden
- 21212121-Problem mit HOM4PS-2.0 lösen
- Frage von HC: was für Ersparnis bring es, A,B von vornherein mit paarweise verschiedenen Nullstellen zu konstruieren?
- A: die Hauptersparnis liegt nich in der Reduktion der in Frage kommenden Beispiele für A oder B ( #(alle polynome vom grad X) nich wesentlich größer von #( (in linearfaktoren zerfallene polynome vom grad Y) * (irreduzible Polynome vom grad Z) mit Y+Z=X ) für kleines X) sondern darin, dass für alle Fälle (A,B) in denen von vornherein nicht klar ist dass ggt(A,B)=1, dies geprüft werden muss.
- wenn scalingFaktoren vorgegeben werden und die Shapes unterschiedlich sind, dürfen die Shapes dann umsortiert werden?
- using givaro for gcd? (=> look at 'examples/isIrred.C' )
Zusammenarbeit Singular-Entwickler
- find out how the Macaulay2-team managed the project rewriting
- Optimierung
- an Hardwareabhängigen Tuning-Parametern arbeiten
- Vortrag über SSE
- Bugfixing
- ntl: wenn cp -p (preserve rights) nicht unterstützt wird, soll dies erkannt werden und entsprechend behandelt werden (entweder andere Fehlermeldung oder kopieren ohne Rechte zu behalten)
- Fehler in den Makefiles posten
- Hardware-Abhängige Parameter-Optimierung
- das S-Team könnte eine Liste "was sollte man anders machen, und was genauso wie bei der Entwicklung von Singular"
- mit Wolfram die Idee mit der Zusammenarbeit bei der Programmierung des Gröbner-Algorithmus diskutieren
- Quelltext muss lesbar sein - als Prinzip hinzufügen; ebenfalls der Sage-Gruppe zur Diskussion vorschlagen
- würde nur zusammen mit dem 4-Augen Prinzip funktionieren
- Abstimmung über 'Quelltext muss dokumentiert sein, sonst wird er nicht aufgenommen' und Review-Policy ?
- Ebenfalls: Abstummung über: Testabdeckung >70%, sonst wird Funktion nicht aufgenommen. Wenn Doktoranden ohnehin daran interessiert sind, etwas zu Singular beizutragen, liesse es sich auch durchsetzen.
- Optional: Schlüsselwörter farblich hervorgehoben
- Regelmäßiges Seminar über SE-Aspekte: Refactoring, Programmierpraktiken, Projektmanagement durchführen?
- Jeder der bei Singular mitmachen will, muss einen solchen Vortrag gehalten haben?
- Mail an Wolfram: bzgl. peer review von Programmbeiträgen (Accept setzt voraus: Code-Lesbarkeit, Tests (Mindestabdeckung?), Beispiele, Dokumentation (Algorithmus + Code + Design) ), refactoring, SE seminar; generell: von Sagemath lernen
- mindestens zwei Personen müssen sich in einem Codebereich auskennen=>pair programming/peer review
- Wunschliste: schnellere und threadsichere libfac
Workshops/Kurse
- einen Autotuning Workshop in 2011 besuchen. (2010 vorbei)
- OpenCL- Programmierkurs besuchen: in Jena, Oktober 2011
Infrastruktur
- eigene
- hosteurope server product upgrade
- DAAD Antrag?
- statt centerfocus-Project bei sourceforge 'algebraic geometry experiments' oder ähnlich, darunter dann centerfocus und co.
- schalldichte Fenster
- Laufzeitmessungen lassen sich genauer durchführen, wenn alle Computerserver-Benutzer ihre Prozesse über das Batch-System (SGE) starten.
- automount - PARTLY DONE; TODO: correct uid
- Allg.
- SGE Besonderheiten ja=>Tonband, oder ä. bevor er weg ist.
- stud.ip vergisst eingegebenes Suchwort
- Übersicht installierter Software auf Rechenservern (z.b. GAP auf gauss05 und gauss06)
- HC : Magma Nutzung möglich (vpn?)?
- L.B. Tech
- xming - NX ist besser!
- Doxygen: optionally group class list by folder, namespace or group. Same for files. In that case also a list with files/classes in no list or group.
- DMTCP Uebung halten
Vertrag
- ein weiteres beglaubigtes Diplomzeugnis wurde angefordert DONE
Lehre
- jemanden zu einem Vortrag über SE einladen, z.B. W.Stein. Eventuell den Vortrag selbst halten
- in den Sage-Kurs wichtige Aspekte von SoftwareEngineering einbauen?
- Aus Erfahrung weiss ich, dass Aspekt->Übung, Asbekt->Übung,.., etwas besser ist als Aspekt1,Aspekt2,..,AspectN,-> lange Übung. In den Ablauf einbauen?
- ein einwöchiger Vorbereitungskurs, wenn in Abschlussarbeiten programmiert wird? - Programmiertechniken sind nicht Bestandteil der SE-Grundvorlesung
- Ein Schein in Programmiertechniken (Blockvorlesung für Nebenfächler) + 1 Programmierschein(OOP) scheint mir minimale Voraussetzung zu sein um in Abschlussarbeiten programmieren zu dürfen.
- Ursache davon dass Programmiertechniken nicht Bestandteil der SE-Grundvorlesung sind ist vermutlich, dass die Vorlesung nicht für Nebenfächler ausgelegt ist.
- Für Softwareprojekte muss die Finanzierung und Durchführung von Wartung und Pflege ausserhalb von Abschlussarbeiten eingeplant werden.
- laut ssp soll der c-Programmierkurs bereits wichtige Aspekte von SE beinhalten => prüfen ob das so ist! Der C-Kurs ist(?) für Informatik-Nebenfächler Pflicht.
Externe Projekte
- Sprachmängel von GAP, Singular,Macaulay2, SAGE u.s.w. analysieren
- Doxygen: mark inherited methods with a symbol
- MediaWiki editZustand in Cookies zwischenspeichern um Datenverlust beim automatischen Ausloggen zu verhindern
- qtcreator: request possibility to define -I and -L for single opened file.
- KDE
- to slow on Atom CPU - use cleanlook
- KDdevelop code folding: choose level of folding. Status: wish submitted - probably submission failed. Resubmit!
- Bug tracker: not possible to search for wishes
- Magma:
- Kernel einer 1xn- Matrix lässt sich auf natürliche weise hinschreiben (schneller, wichtig bei LLL preprocessing)
- eine nxm-Matrix mit maximalem Rang lässt sich natürlich invertieren.
nicht kritisch
- die Performance von innodb in MySQL 5 scheint schlechter zu sein als in MySQL 4 , es liegt aber wohl nicht an diesem http://www.marco.org/28044316 oder diesem http://www.mysqlperformanceblog.com/2007/06/06/mysql-4-to-mysql-5-upgrade-performance-regressions/ Bug
TODO Hans-Christian
- Integralkurven-Projekt
- Algorithmus formal aufschreiben
- Integralkurven von endlichen Körpern nach QQ liften (zunächst in Macaulay), Dauer Tage
- alle Punkte einsetzen modulo Skalierung
- genaue Strategie ausarbeiten (Formel23 und Skalierung berücksichtigen), Dauer Stunden
- implementieren
- Ergebnisse aufschreiben
- FiveSections
Partially done H.C
- Punktlisten für die 40 Familien von Beispielen liefern
Done H.C.
- virtueller Server - Paket bei Hosteurope aktualisiert
- Tag-Konstanten für Zoladek-Familien von Beispielen festgelegt
- Integralkurven-Projekt
- Macaulay Script an Jakob geschickt und erklärt, Dauer Stunden
Rejected H.C.
- Formel 4 nicht herleiten - vermutlich führt der Einsatz der Formel 4 (falls Herleitung überhaupt möglich) nicht zu einem schnelleren Algorithmus
- mehr Rechner
- England kontaktieren, verfügbare Rechenkapazität feststellen, Dauer Stunden HC
Done Admins
- Home-Ordner soll wieder ins Backup
Done
Schnelles Rechnen über endlichen Körpern in Macaulay:
- gdbm bug : falsche install user id und falsche Gruppe ('bin' statt 'kroeker') - lag am Dateisystemproblem, bei Dateien wurden nicht die richtigen Gruppenrechte angezeigt.DONE
- mpir compiliert nicht auf den Gausservern - lag entweder am Dateisystem oder am GCC 4.3.4 DONE
- pari-bug auf gauss - (Macaulay2 test scheiterte, Problem tritt nicht mehr auf, Ursache: gegen falsche Bibliotheken gelinkt? )
Infrastruktur
- eigene
- Ubuntu update wegen KDevelop 4 (?) - DONE 21.7.2011
- nxclient installed
- Ubuntu update wegen KDevelop 4 (?) - DONE 21.7.2011
- Allg
- Checkpointing
- DMTCP auf Gaussrechnern installiert DONE
- Wiki-Eintrag zur Verwendung von DMTCP Checkpointing DONE
- Checkpointing
Schnelles Rechnen über endlichen Körpern in Singular:
- FFPACK Vortrag gehalten und Folien hochgeladen
centerfocus
- Bugfixing:
- Server backup und update, geplant: 1 Tag, Dauer: 2 Tage
- Tex-Funktionalität für das Wiki eingerichtet,
- vorgenommene MediaWiki Anpassungen dokumentiert
- Konsistenz
- Sicherstellen, dass Dateien vom centerfocus-Programm atomar erzeugt werden. - Für interne Zwecke ausreichend gelöst.
- Integralkurven-Projekt
- IO-Format festlegen, Dauer Stunden
- Implementieren in C++ Dauer Wochen
- Sonderfall berücksichtigt.
- Frommer Algoritmus in Macaulay implementieren, geschätzte Dauer: Wochen, Aufwand bisher: 4 Tage
- Glattheits-Projekt
- Messen, wie lange Glattheitstests dauern, Dauer Stunden
- Messen, wie lange das Ausrechnen von Quadriken dauert, Dauer Stunden
- Statistik mit Glattheitstest, Glatteit auch für Punkte, die wir nicht speichern. (Für alle Strudelgrößen =0)
- Für alle Punkte in der DB die Glattheit nochmal testen, Dauer Tage
- Tests
- Regressionstests für Glattheitsprüfung hinzugefügt
- Den Syntaxtest und einige weitere vorhandene Tests automatisiert
- Tests in den Ordner c-program/LinuxSrc/testing verschoben
- Optimierung:
- Punkteingabeliste (semi)automatisch aufteilen; passende Batch-Skripts automatisch erzeugen. Anwendung: Kodimensionskorrektur für Punktliste parallel berechnen.
- icc ausprobiert - kein nennenswerter Performanceunterschied im Vergleich zu gcc erzielt
- Gesamtlaufzeit (ohne Lift-Test) um 30% verringert.
- Dauer von Glattheistests reduziert, so das jetzt 14 Tests pro Sekunde geschafft werden
- Nutzung der Multimedia-Register (SSE2) für die Glattheitstests probeweise implementiert.
- Modulo-Rechnung im C-Schritt nochmal verschoben. c.a. 15 % Leistungssteigerung.
- gezählt, von wo und in welcher Stufe der Frommer-Alg. aufgerufen wird., Dauer: Tage
- Enwurf für die Frommer-Implementierung unter Verwendung der Multimedia-Register überlegt.
- LLVM ausprobiert
- neue Eingabeparameter
- Neuen Eingabeparameter minComponentCodim aufgenommen, um die Punkterfassung und die Statistukerfassung getrennt steuern zu können.
- Der neue Parameter minComponentCodim wird in die DB eingetragen werden, damit man auch eine korrekte Statistikanfrage über das Punkteformular machen kann.
- Optimierung: herausfinden, ob SSE Register für die Berechnung der Strudelgrößen genutzt werden können, Dauer Tage
- gemessen, wieviel Zeit in welchem Ast in der Formel23 verbraucht wird, Dauer : Tage
- mehr Rechner:
- RRZN: HLRN-II-Kapazität: 1320 Knoten (c.a. 10.000 cores). Auf dem HLRN sind viele Knoten frei (c.a 500; je 8 Cores). Antrag zum 28.7 möglich. Vorher muss ein Testaccount angefordert werden.
- GWDG: Kapazität: c.a. 2300 cores. Status der Auslastung vom GWDG lässt sich nicht abrufen. Gemäß Mitteilung auf den internen Seiten ist der neue Rechner (1500 cores) ausgelastet.
- Rechenkapazität GWDG: http://wwwuser.gwdg.de/~parallel/parallelrechner/Hardware_Ueberblick.html), Zugang (eduroam-Account Antrag, dann Mail an Rechenserver-Betreuer)
- Kontingent: https://benutzer-portal.gwdg.de/IDM/portal/cn/GWDG-Benutzer%20Containerseite/GWDG
- Fehlerschätzung Komponentenanzahl:
- meine Theorie, dass die Statistik um Wurzel(Charakteristik) pro Formel korrigiert werden muss, scheint nicht zuzutreffen.
- Python-Eintrageskript verbraucht zuviel Speicher
- Speicherrpoblem verursacht durch Stringverarbeitung; gelöst (verwende StringIO zur Stringkonkatenation)
- CRCG_Wiki-Seite im Netz doppelt. Umleitung erfolgt nur von der Hauptseite aus.
- Datenbank
- Datensicherheit: SB spiegeln oder regelmäßig sichern
- Webseite
- Übersichts-Seite über die in der DB gespeicherten Punkte erstellen - Ausreichend gelöst, Information bei den Quadrik-Statistiken
- centerfocus.de registrieren, dazu bei Hosteurope "domainkonnektierung im DNS mit PLESK und AUTO-DNS" anschauen.
- die Seite 'centerfocus.de' ist auch bei abgeschalteten cookies funktionsfähig
- MediaWiki wird als Teil Content Management System für centerfocus.de verwendet.
- neues centerfocus paper
- Akzeptable Startseite mit Erklaerung wo welche Dateien zu finden sind
- README Dateien angepasst
- Paket fuer alle Dateien die mit diesem Artikel zu tun haben vorbereitet
- Build /Makefiles
- Build /Compile nicht im gleichen Ordner mit den Quelldateien.
- test target hinzugefügt
- Dokumentation
- Ordnerstruktur bis auf Experimente erklärt
- Kodimension-Korrektur durch approx. des Tangentialkegel (bis Quadriken)
- Idealzerlegung in Singular, Macaulay und Magma aus dem C++-Programm heraus
- Timing
- Magma und Singular Startzeit samt Skriptladevorgang ermittelt.
- Zufallsversuche mit Kodimensions-Korrektur ? teilweise erledigt - keine Kombinationen der Methoden (bspsw. minAssChar, minAssGTZ gleichzeitig) implementiert.
Delayed
Schnelles Rechnen über endlichen Körpern in Macaulay:
- GMP und Givaro standalone configure Parameter herausfinden - zur Zeit nicht notwendig. DELAYED
centerfocus
- manueller Upload von Versuchsergebnissen, Dauer Tage
- mehr als eine Kodimensionkorrektur in einem Aufruf berechnen um den Aufrufoverhead zu minimieren - noch nicht Zeitkritisch : bei 30 Mio Punkten (alle betroffenen Punkte fuer Charakteristik 31 bei vollstanediger Suche) und 1. sec Aufrufoverhead würde dies bei 30 Rechnern 11 Tage kosten. Alternativer Ansatz: Startzeit reduzieren durch fork() oder clone() statt kompletten Neustart;
- Python-Eintrageskript ist langsam
- Geschwindigkeitsproblem: zurückgestellt, ist noch nicht kritisch
Infrastruktur
- eigene
- mehr Rechner
- Rausfinden, ob man Boinc-Server einrichtet oder die Aufgabe weiterdelegieren kann, Dauer Tage - Verschoben, da langfristiges Anliegen. Es lohnt sich eventuell eher die weitere Ausnutzung der Multimediaregister und eine Implementierung für Grafikkarten
- mehr Rechner
Rejected
- im Artikel auf das erstellte centerfocus-Paket genau hinweisen, da dieses Paket nicht direkt auf der sourceforge-Seite erscheint - nicht unbedingt notwendig, da survey2.m2 in centerfocus-0.96 dabei ist und auf Sourceforge ausserdem eine 'readme'-Datei mit einem entsprechendem Hinweis angezeigt wird.
- Glattheits-Projekt
- Qadrik-Statistik nur berechnen, wenn der Glattheitstest-Test nicht bestanden wurde - anderenfalls gibt es sowieso keine Quadriken! Ablehnungsgrund: Quadrik-Berechnung wesentlich billiger als Glattheitstest
- Konsistenz
- Sicherstellen, dass Dateien vom centerfocus-Programm atomar erzeugt werden. - Für interne Zwecke ausreichend gelöst.
Notizen
- Message Passing: MessagePack, Json, TPO++, myrpc - required to distrubute work to several computers.
