Todo Kroeker

From CRCG-Wiki

Jump to: navigation, search

Contents

TODO Jakob

Anm.: Die Todo- und Done-Listen können unvollständig sein.

Projekte

  1. centerfocus
  2. Schnelles Rechnen über endlichen Körpern in Macaulay2
  3. centerfocus: technical report...
  4. parallele LLL implementierung in Macaulay2
  5. Unterstützung anderer Forschergrupen CRCG
  6. Problem von Prof. Bartholdi
  7. .dot-Parser für Franziska
  8. Potenzielle Aufgaben fuer Hiwi aufstellen - Markiere diese Aufgaben mit (H)
  9. Zusammenarbeit Singular-Entwickler
  10. Projekt mit Prof. Ingrid Bauer-Catanese?
    1. Idee kam HC beim Vortrag "Algebraische Flächen vom Geschlecht 0: von Max Noether bis heute".
  11. Infrastruktur
  12. FiveSections
  13. ggt Performance Vergleich (eigene Implementierung für Spezialfälle und Singular-Factory)
  14. Autotuning: zentrale db mit optimalen Parametern je nach vorliegender Hardware. (ermittelt aus Benutzerdaten)
  15. Nutzungsstatistik für Funktionen (ermittelt aus Benutzerdaten)

TODO-Verwaltung:

  1. Verbesserung der Priorisierung: javascript-Tabelle (tablekit?) einbinden?
  2. Ticketsystem auf www.centerfocus installieren - mantis, gtodo oder andere...

centerfocus

  1. Frommer Algorithmus in SAGE
  2. naechster Artikel:
    1. Gliederung
    2. Performancevergleich Kodimension-Korrektur durch Zerlegen der Quadriken und Kodimension-Korrektur durch Punkteeinsetzen.
    3. Wie gross sind die Laufzeitunterschiede für die Idealzerlegung bei verschiedenen Variablenordnungen /Monomordnungen?
    4. Ist die Strategie 'mehrere Berechnungen starten' und auf das schnellste Ergebnis warten vertretbar?
    5. Vektor-Matrix-Multiplikation Geschwindigkeit in C++ messen, Dimension kleinerGleich 14.
    6. Vogon Poetry Ideale an Wolfram schicken
  3. centerfocus: Bezeichnung des Eingabeparameters minComponentCodim nicht ganz zutreffend
  4. Integralkurven-Projekt
    1. Für alle Punkte in der DB die Integralkurven ausrechnen und in der DB speichern und eventuell die Integralkurvenberechnung in centerfocus einbinden. Dauer: Tage
  5. Dokumentation
    1. Skala für Dokumentationsqualität festlegen, Dauer Stunden
    2. Dokumentationsaspekte definieren, Dauer Stunden
    3. vorhandene Doku bewerten, anhand der Bewertung TODO-Punkte ni TODO-Liste einfügen, Dauer Stunden
    4. Dokumentation vervollständigen, Dauer min. 1 Monat
      1. Tests dokumentieren
  6. ToDo in einem geeigneten Tool digital erfassen, priorisieren. Dauer Tage
  7. mehr Rechner
    1. Account bei www.csi.cuny.edu/cunyhpc , Ansprechpartner Michael Kress
  8. Profiling
    1. Performance Zeitmessungen von centerfocus in verschiedenen Versionen in die DB eintragen
    2. Operationen 'plus' und 'mal' zählen, unabhängig von deren Realisierung
    3. Glattheitstest
      1. Messen, wie lange das Duplizieren von Daten dauert, bevor man Multimedia Register nutzen kann
      2. Glattheitstes nochmal mit Callgrind und Cachegrind untersuchen.
    4. Zeitmessungen für die Quadrikzerlegung - Zeitstatistiken für verschiedene Typunterteilung bereitstellen  : Typen nach Quadrikenrang, nach Ergebnis, nach benötigter Zeit unterteilen
    5. memusage misst den Speicherverbrauch nicht korrekt... time misst auf mathpc26 korrekt,liefert aber auf den GaussRechnern '0 Kbytes'
  9. Optimierung:
    1. das Erkennen der beiden Komponenten mit Codimension 6 würde insgesamt eine Geschwindigkeitssteigerung von c.a. 16 Prozent bringen. (Glattheitstests fallen weg)
    2. herausfinden, ob die Verwendung von SSE Registern für die Berechnung der Strudelgrößen einen Zeitvorteil bringt, Dauer: Wochen
    3. eventuell den Algorithmus unter Zuhilfenahme von OpenCL auf Grafikkarten implementieren.
    4. dreiwertige Tabelle für AccMult
    5. Parallelisierung mit OpenMP
    6. Optimierung Basisdatentypen: je nach Architektur automatische Laufzeittests durchführen und Ergebnisabhängig Datentypen wählen
    7. PHCpack berücksichtigen
  10. 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?)
  11. soll der Download-Ordner ins interne Backup ?
  12. Glattheitstest
    1. 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.
    2. Schätzen der Wahrscheinlichkeit, dass ein nichtglatter Punkt übersehen wird bei gegebenen 'maxLift' und 'liftTrials'
    3. 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.
    4. Zwecks Nachvollziehbarkeit eventuell einen Punkteigenschaft 'implizit/explizit' einführen: Glattheitsinformation wurde implizit(glattheit: sicher)/explizit(nichtglattheit:sicher, Glattheit:unsicher) gewonnen
  13. statt eigenem Parsercode fertige Parser einsetzen
  14. Installer für centerfocus
    1. herausfinden, wie man den Bibliothekspfad (-L) bzw. den Pfad zu Headerdateien in CMAKE angibt
    2. Scons: herausfinden, wie man mit Scons feststellt, ob bestimmte Pakete in der passenden Version (32Bit/64Bit) installiert sind (Popt, Blas)
  15. Webfrontend für centerfocus
    1. Webfrontend: Punkt über F_q wird eingegeben, Integralkurven werden ausgerechnet, Dauer Wochen
    2. Webfrontend für Punkt über QQ Dauer Wochen
  16. centerfocus:Bugs
    1. Statt primitiver Datentypen für Integer (architekturabhängig) Datentypen mit definierter Größe verwenden
  17. Datenbank
    1. LiftTest
      1. in der DB liftTestPassed zu notNonSmooth ändern. Und nochmal klären, wie minLift und liftTrials als Standard gesetzt werden.
    2. fuer Statistikorrektur-Experimente ebenfalls eine Id festlegen (random?), damit Dinge nicht doppelt eingetragen werden.
    3. bigint fuer codimCorrectionList_ID ueberdimensioniert
    4. eventuell auch 8er Punkte immer in die DB eintragen und DB auf das GWDG-Rechenzentrum packen
    5. 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)
      1. Da jetzt der Server aktualisiert wurde Problem mit Defaultwerten lösen (TODO)
    6. da ich einige Daten nachträglich geändert hatte (Fehler im Eintrageskript) fehlt ein Konzept um die Nachvollziehbarkeit zu erhalten.
  18. korrekte Fehlerschätzung für die Komponentenanzahl überprüfen
  19. Frommer-Algorithmus (plus drumherum) in Java oder D ? (Der Vorteil ist, dass viele Studenten Java können), Dauer Monate
  20. Programm auf OpenCL umstellen und auf Grafikkarten rechnen
  21. Punktfilter
    1. es muss entschieden werden, ob man die FilterParameter explizit speichert, (beeinflussen nicht die Punktstatistik aber sehr wohl die Varianz bei der Kodimensions-Korrektur)
  22. Webseite
    1. Backupfunktionalität vom Webserver testen
    2. eventuell statt onClick OnMouseDown für die Menüs auf 'centerfocus.de' verwenden
  23. ist es ein Problem, den gleichen Zufallsgenerator nicht nur für Punkterstellung sondern auch für Lifts und Punktfilter zu verwenden?
  24. Lift nach Q
    1. p-adisches Rechnen
    2. p-adisches Rechnen in Kombination mit epsilon-Rechnung
  25. symmetrische Punkte nach Stabilisator gruppieren und für die DB entsprechend taggen
  26. Kodimension-Korrektur
    1. decomposeConeAPI.magma evtl. in den c++-Quellcode integrieren , damit es keine Probleme bei der Dateibearbeitung gibt.
    2. eventuell mehrere 'codimProfile-Tabellen' anlegen, für jede SpeicherVerbrauchMessMethode eine.
    3. für Magma den BasisSpeicherverbrauch speichern.
    4. minimal associated prime decomposition also with Maple and CoCoA; (Sage uses Singular to compute primary decomposition).
    5. für Zufallsversuche mit Korrektur der Kodimension neuen Parameter einfuehren: Liste mit parallel/seruekk zu startenden Tools und entsprechenden Parametern.
    6. Weitere Tabelle (corrInfo) in DB einfuehren, welche timerMethod, memoryUsageMethod und correctionMethod von Exp.Info trennt.
    7. Skript zur Sortierung von Punkten verallgemeinern und einchecken
  27. Quadriklisten:
    1. centerfocus soll online Quadriklisten generieren koennen
    2. Quadriklisten in der DB speichern
  28. eventuell Ausgabeliste aufteilen, damit Macaulay nicht so viel Speicher verbraucht?
  29. Hamilton-KomponentenCheck in Macaulay implementieren
  30. epsilon-Rechnung in Macaulay implementieren
  31. Bugfixing
    1. Generell: vergleiche Ergebnisse gleicher Funktionen verschiedener CAS miteinander. Die Eingabe zufällig generieren.
  32. Um Komponenten der Kodimension 9 vollstaendig zu klassifizieren sind evtl. Versuche mit hoeheren Charakteristiken notwendig (59, etc.) . Status: Versuche mit Charakteristik 59 gestartet.
    1. Punkte mit Charakteristik 61 sortieren, dazu das Programm von Hr. Steiner benutzen (DONE)
    2. Punktsortieralgorithmus generalisieren, automatisieren, dokumentieren, einchecken.
  33. centerfocus Programmregistrierung ueberarbeiten, damit diese auch ohne direkten Kontakt zur DB funktioniert (make.py) ? - wichtig fuer Rechnen auf GWDG-Ressourcen
  34. Abfrageformulare:
    1. auf der QueryDatabase-Seite: einheitliche 'Hints'
    2. Statistikabfrageformular: verfügbare Charakteristiken aus der DB abfragen; Benutzerführung bezüglich möglicher Abfrageparameter verbessern.
    3. in der Punktabfrage einzelne PointID angeben
    4. Charakteristik Feld als ComboBox mit allen möglichen Werten aus der DB.
    5. ComboBoxen fuer meherere Felder in der Statistik- und Punktabfrage
  35. Integralkurven Lifts anders implementieren , so dass diese nicht von der Charakteristik abhängig sind.
  36. centerfocus: Tests / Bugfixing:
    1. Punkte aus der DB als input
    2. Test für neues Ausgabeformat
    3. Speicherleck in der Berechnung der Integralkurven im Macaulay2-Teil finden
    4. Idealzerlegung; Korrektheitstest in Singular
    5. Alle Punkte in der DB mit Macaulay2 überprüfen?
    6. enthält centerfocus::Pointfilter noch bugs?
  37. centerfocus: Checkpointing
    1. Checkpunkte nicht in die gwdg-Verzeichnisse schreiben, die gesichert werden.
    2. Checkpointing funktioniert nicht zusammen mit externen Programmaufrufen ( Kodimension-Korrektur)

todo Schnelles Rechnen über endlichen Körpern in Macaulay:

  1. eigene Ringimplementierung ist für sehr kleine Charakteristiken vermutlich noch schneller als die von FFPACK.
  2. 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.
  3. neben 'GfqDom' weiteren endliche Körper-Objekte testen.
  4. valgrind tests
  5. shipped lapack does not compile as shared lib on my pc
  6. using installed blas does probably not configure correctly at least for givaro
  7. Merke: givaro hängt weder von ffpack noch von linbox ab, also muss givaro zuerst gebaut werden, dann ffpack, dann Linbox.
  8. what is wrong with givaro configure files (Dan) ?
  9. Belohnung für Finden von Fehlern ?
  10. Aufruf externer Funktionen aus Macaulay2 in HowTo eintragen
  11. Ähnlich wie in Singular feststellen, ob sagemath eingebunden werden kann
  12. Kompilierschwieigkeiten fflas_ffpack wegen blas klaeren und fuer alle beheben
    1. muss im svn-ordner configure aufgerufen werden?
  13. multible definition of FFPACK::Failure::_errorStream (in debug.h) klaeren: Headerabhängigkeiten zur Hilfe ziehen (doxygen).
    1. 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'
  14. look at the coercion rules (most natural conversions between rings) in SAGEmath
  15. 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.
  16. Profiling : erste Näherung ist der Einsatz von sysprof
    1. zweite näherun: lcov+gcov? (gcov erzeugt .gcov -dateien; Aufruf von 'gcov -c ... ' die Ausgabe enthält Zähler der Aurfufe/Zeile)
  17. 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 .
    1. LIBS variable is not use to build gfan.. => link with lgcov by hand
    2. maybe ok: external libraries are compiled with optimization flags, regardness of '--disable-optimize' option during configure.
    3. in addition, Macaulay2/c/Makefile.in has to be modified : scc1 target is created via $(CC) $(LDFLAGS) $(CFLAGS) $(OFILES) $(LOADLIBES) $(LIBS) -o scc1
  18. configure M2 with option enable-debug => Assertion `(p) == 0 || 0 == GC_check_annotated_obj(GC_base((void *)(p)))' failed.
  19. find matrix.rank calls in Macaulay code - potential for improvement via FastLinearAlgebra.
  20. beim Parallelisieren auf gemeinsam verwendete Variablen (z.B. Liste der irreduziblen Polynome) achten.
  21. visit Ithaca in April-May 2012
  22. look at LELA (Author: B.Hovinen )
  23. Ideen zu GF(p^n)
    1. http://www.mail-archive.com/sage-devel@googlegroups.com/msg00699.html
    2. http://martinralbrecht.wordpress.com/2012/01/20/sage-4-8-is-out/

SSP

bei der Angloamerikanischen Suche/Zeitschriften werden nicht alle Zeitschriften zu einem Buchstaben angezeigt und man kann auch nicht blättern

SAGEmath

  1. Schnittstelle zu Macaulay2 hat Probleme und ist etwas dürftig; kann mich aber jetzt nicht darum kümmern
    1. bei ungewöhnlichen Pfaden /usr/local/ oder Links zu der Binary (bash-script) hat sage ebenfalls Probleme, Macaulay2 auszuführen
    2. toString funktioniert nicht, toExternalString aber schon
    3. werden die Probleme durch die Zusammenfassung(?) von stderr und stdout von Macaulay verursacht?
    4. macaulay2("") funktioniert besser als %macaulay2

FFPACK /LinBox

  1. FFPACK::fgemv Dokumentation ist nicht klar genug
  2. FFPACK::rowRankProfile documentation problem?
  3. 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.
  4. in Ubuntu (auch letzte Version 11.04) mitgelieferte Givaro-Version enthält Fehler!
  5. in Lidia ab Version 2.3 heisst das include-Verzeichnis nicht mehr 'LiDIA' sondern 'lidia'

Unterstützung anderer Forschergrupen CRCG

  1. GAP: Sage in GAP benutzen?
  2. Anleitung zur Benutzung der SGE schreiben
  3. Mail Projekt Mihailescu (refactoring)
  4. Checkpointing
    1. virtualBox Performance testen - Teilweise erledigt: auf vorhandene Benchmarks zugegriffen. Wenn die Benchmarks stimmen, fällt der Einsatz der Virtualisierung zwecks sicheren Betriebs/checkpointing flach.
      1. 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).
      2. Link: ein XEN, VirtualBox, vMVare Vergleich: http://www.ilsistemista.net/index.php/virtualization/1-virtual-machines-performance-comparison.html?start=18
      3. Wird Performance Problem durch Verwendung von SSE verursacht?

nxnxn

  1. Bezeichnungen in der Dokumentation von nxnxn an die Bezeichnungen im Paper anpassen

.dot Parser fuer Franziska

    1. PyGraphviz: sind inline subgraphen gemaess graphviz-Spezifikation erlaubt ? Wenn ja, hat die libcgraph damit Probleme und somit einen Bug.
  1. Doku verbessern

Verbesserung d. Ausbildung

  1. Abschlussarbeiten athematik
    1. 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.
    2. Prüfungsordung
      1. für Nebenfach Informatik sollte 'Software Engineering I' als Pflichtvorlesung, bzw. Voraussetzung für alle Programmierkurse eingetragen werden (auch Macaulay/Singular/Matlab etc.)
        1. in dieser Vorlesung sollten zumindest 'code conventions', Analyse, Entwurf, Testen und Dokumentation/Wartbarkeit von Software behandelt werden
        2. Techniken zur Durchführung von Tests, Dokumentation und Wartbarkeit sollten bei allen angebotenen Programmierkursen thematisiert werden. (Jedes Skript ist auch ein Stück Software!)
  2. Literaturhinweise für SoftwareEngineering raussuchen
    1. Basic introduction: [short introduction to software engineering ] [long introduction to software Engineering]
    2. Management/Organization "The mythical Man-Month",
    3. Social aspects: "Peopleware" - Tom DeMarco
    4. Refactoring: "Refactoring" from Martin Fowler
    5. Coding Standards: "C++ coding standards" from Sutter, Alexandrescu
    6. Software Engineering: "Fundamental principles of software engineering - a journey", Bourque et al.

Rational function search with special multiplicity

  1. Implementierung in sagemath
  2. DONE: Problem mit char p Methode gelöst, es bleiben aber noch offene Fragen :
  3. alternatives numerisches Lösungsverfahren implementieren
  4. Test der Routinen fuer große Charakteristiken überlegen.
  5. Automatischer Test für kleine Charakteristiken, Vorgabe: Liste der Multiplizitätsstruktur aus Macaulay2.
  6. wie kann man das Problem mit Hilfe von Groebnerbasen lösen?
  7. Artikel schreiben
  8. Sichere Methode für optionale Parameter in Macaulay - in google groups posten - DONE: use protect
  9. 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)
  10. Implementierung in pari/gp? -> Nein.
  11. Implementierung der Punktsuche auf Grafikkarten? - vielleicht
  12. parallelisierung (zumindest SMP)
  13. next_permutation() fuer Macaulay2 ? Nutze phobos (d language stl) oder boost (c language stl)
  14. fragen, ob es moeglich ist, lokale Variablen an eine ausserhalb definierte Funktion zu binden - ist das ähnlich zu 'closures'?
  15. program search part in D language
  16. integration von C++ Code im Macaulay2-Paket möglich?
  17. 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
  18. Diskriminante ausrechnen : HC fragen
  19. Schätzen der Kodimension ( Stichwort shape-entries -1 )
  20. Bei manchen Beispielen stimmt Zerlegung(factor) und die mit Hilfe von Ableitungen berechneter Multiplizitätstruktur nicht überein. DONE
  21. consider Macaulay2-package "points"
  22. support limiting memory usage and time
  23. memory leak when creating irreducible polynomial lists?
  24. doppelte Beispiele aussortieren ? DONE, 4 Stunden
  25. Ideal automatisch hinschreiben DONE,
  26. Punkt automatisch extrahieren DONE
  27. Singular-Factory request thread safety and optimization ( using SSE registers)
  28. Macaulay2 Fehler: duplicate large block deallocation. Prüfe gerade reproduzierbarkeit.
  29. random search?
  30. reorder pointSet at the end if shapeList was reordered? - No, since it is an equivalent formulation.
  31. Macaulay2 needsPackage lädt nicht die exportierten symbole; man braucht explizit loadPackage...
  32. unique in Macaulay2 funktioniert nicht wie erwartet - gleiche objekte werden nicht herausgefiltert.
  33. Dokumentation: mind 12 Stunden
  34. 21212121-Problem mit HOM4PS-2.0 lösen
  35. Frage von HC: was für Ersparnis bring es, A,B von vornherein mit paarweise verschiedenen Nullstellen zu konstruieren?
    1. 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.
  36. wenn scalingFaktoren vorgegeben werden und die Shapes unterschiedlich sind, dürfen die Shapes dann umsortiert werden?
  37. using givaro for gcd? (=> look at 'examples/isIrred.C' )

Zusammenarbeit Singular-Entwickler

  1. find out how the Macaulay2-team managed the project rewriting
  2. Optimierung
    1. an Hardwareabhängigen Tuning-Parametern arbeiten
    2. Vortrag über SSE
  3. Bugfixing
    1. 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)
    2. Fehler in den Makefiles posten
  4. Hardware-Abhängige Parameter-Optimierung
  5. das S-Team könnte eine Liste "was sollte man anders machen, und was genauso wie bei der Entwicklung von Singular"
  6. mit Wolfram die Idee mit der Zusammenarbeit bei der Programmierung des Gröbner-Algorithmus diskutieren
  7. Quelltext muss lesbar sein - als Prinzip hinzufügen; ebenfalls der Sage-Gruppe zur Diskussion vorschlagen
    1. würde nur zusammen mit dem 4-Augen Prinzip funktionieren
  8. Abstimmung über 'Quelltext muss dokumentiert sein, sonst wird er nicht aufgenommen' und Review-Policy ?
  9. 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.
  10. Optional: Schlüsselwörter farblich hervorgehoben
  11. Regelmäßiges Seminar über SE-Aspekte: Refactoring, Programmierpraktiken, Projektmanagement durchführen?
    1. Jeder der bei Singular mitmachen will, muss einen solchen Vortrag gehalten haben?
  12. 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
    1. mindestens zwei Personen müssen sich in einem Codebereich auskennen=>pair programming/peer review
    2. Wunschliste: schnellere und threadsichere libfac

Workshops/Kurse

  1. einen Autotuning Workshop in 2011 besuchen. (2010 vorbei)
  2. OpenCL- Programmierkurs besuchen: in Jena, Oktober 2011

Infrastruktur

  1. eigene
    1. hosteurope server product upgrade
    2. DAAD Antrag?
    3. statt centerfocus-Project bei sourceforge 'algebraic geometry experiments' oder ähnlich, darunter dann centerfocus und co.
    4. schalldichte Fenster
    5. Laufzeitmessungen lassen sich genauer durchführen, wenn alle Computerserver-Benutzer ihre Prozesse über das Batch-System (SGE) starten.
    6. automount - PARTLY DONE; TODO: correct uid
  2. Allg.
    1. SGE Besonderheiten ja=>Tonband, oder ä. bevor er weg ist.
    2. stud.ip vergisst eingegebenes Suchwort
    3. Übersicht installierter Software auf Rechenservern (z.b. GAP auf gauss05 und gauss06)
    4. HC : Magma Nutzung möglich (vpn?)?
    5. L.B. Tech
    6. xming - NX ist besser!
    7. 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.
    8. DMTCP Uebung halten

Vertrag

  1. ein weiteres beglaubigtes Diplomzeugnis wurde angefordert DONE

Lehre

  1. jemanden zu einem Vortrag über SE einladen, z.B. W.Stein. Eventuell den Vortrag selbst halten
  2. in den Sage-Kurs wichtige Aspekte von SoftwareEngineering einbauen?
    1. Aus Erfahrung weiss ich, dass Aspekt->Übung, Asbekt->Übung,.., etwas besser ist als Aspekt1,Aspekt2,..,AspectN,-> lange Übung. In den Ablauf einbauen?
  3. ein einwöchiger Vorbereitungskurs, wenn in Abschlussarbeiten programmiert wird? - Programmiertechniken sind nicht Bestandteil der SE-Grundvorlesung
    1. 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.
  4. Ursache davon dass Programmiertechniken nicht Bestandteil der SE-Grundvorlesung sind ist vermutlich, dass die Vorlesung nicht für Nebenfächler ausgelegt ist.
  5. Für Softwareprojekte muss die Finanzierung und Durchführung von Wartung und Pflege ausserhalb von Abschlussarbeiten eingeplant werden.
  6. 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

  1. Sprachmängel von GAP, Singular,Macaulay2, SAGE u.s.w. analysieren
  2. Doxygen: mark inherited methods with a symbol
  3. MediaWiki editZustand in Cookies zwischenspeichern um Datenverlust beim automatischen Ausloggen zu verhindern
  4. qtcreator: request possibility to define -I and -L for single opened file.
  5. KDE
    1. to slow on Atom CPU - use cleanlook
    2. KDdevelop code folding: choose level of folding. Status: wish submitted - probably submission failed. Resubmit!
    3. Bug tracker: not possible to search for wishes
  6. Magma:
    1. Kernel einer 1xn- Matrix lässt sich auf natürliche weise hinschreiben (schneller, wichtig bei LLL preprocessing)
    2. eine nxm-Matrix mit maximalem Rang lässt sich natürlich invertieren.

nicht kritisch

  1. 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


  1. Integralkurven-Projekt
    1. Algorithmus formal aufschreiben
    2. Integralkurven von endlichen Körpern nach QQ liften (zunächst in Macaulay), Dauer Tage
  2. alle Punkte einsetzen modulo Skalierung
    1. genaue Strategie ausarbeiten (Formel23 und Skalierung berücksichtigen), Dauer Stunden
    2. implementieren
  3. Ergebnisse aufschreiben
  1. FiveSections

Partially done H.C

  1. Punktlisten für die 40 Familien von Beispielen liefern


Done H.C.

  1. virtueller Server - Paket bei Hosteurope aktualisiert
  2. Tag-Konstanten für Zoladek-Familien von Beispielen festgelegt
  3. Integralkurven-Projekt
    1. Macaulay Script an Jakob geschickt und erklärt, Dauer Stunden

Rejected H.C.

  1. Formel 4 nicht herleiten - vermutlich führt der Einsatz der Formel 4 (falls Herleitung überhaupt möglich) nicht zu einem schnelleren Algorithmus
  2. mehr Rechner
    1. England kontaktieren, verfügbare Rechenkapazität feststellen, Dauer Stunden HC

Done Admins

  1. Home-Ordner soll wieder ins Backup


Done

Schnelles Rechnen über endlichen Körpern in Macaulay:

  1. gdbm bug : falsche install user id und falsche Gruppe ('bin' statt 'kroeker') - lag am Dateisystemproblem, bei Dateien wurden nicht die richtigen Gruppenrechte angezeigt.DONE
  2. mpir compiliert nicht auf den Gausservern - lag entweder am Dateisystem oder am GCC 4.3.4 DONE
  3. pari-bug auf gauss - (Macaulay2 test scheiterte, Problem tritt nicht mehr auf, Ursache: gegen falsche Bibliotheken gelinkt? )

Infrastruktur

  1. eigene
    1. Ubuntu update wegen KDevelop 4 (?) - DONE 21.7.2011
    2. nxclient installed
  2. Allg
    1. Checkpointing
      1. DMTCP auf Gaussrechnern installiert DONE
      2. Wiki-Eintrag zur Verwendung von DMTCP Checkpointing DONE

Schnelles Rechnen über endlichen Körpern in Singular:

  1. FFPACK Vortrag gehalten und Folien hochgeladen


centerfocus

  1. Bugfixing:
  2. Server backup und update, geplant: 1 Tag, Dauer: 2 Tage
    1. Tex-Funktionalität für das Wiki eingerichtet,
    2. vorgenommene MediaWiki Anpassungen dokumentiert
  3. Konsistenz
    1. Sicherstellen, dass Dateien vom centerfocus-Programm atomar erzeugt werden. - Für interne Zwecke ausreichend gelöst.
  4. Integralkurven-Projekt
    1. IO-Format festlegen, Dauer Stunden
    2. Implementieren in C++ Dauer Wochen
    3. Sonderfall berücksichtigt.
  5. Frommer Algoritmus in Macaulay implementieren, geschätzte Dauer: Wochen, Aufwand bisher: 4 Tage
  6. Glattheits-Projekt
    1. Messen, wie lange Glattheitstests dauern, Dauer Stunden
    2. Messen, wie lange das Ausrechnen von Quadriken dauert, Dauer Stunden
    3. Statistik mit Glattheitstest, Glatteit auch für Punkte, die wir nicht speichern. (Für alle Strudelgrößen =0)
    4. Für alle Punkte in der DB die Glattheit nochmal testen, Dauer Tage
  7. Tests
    1. Regressionstests für Glattheitsprüfung hinzugefügt
    2. Den Syntaxtest und einige weitere vorhandene Tests automatisiert
    3. Tests in den Ordner c-program/LinuxSrc/testing verschoben
  8. Optimierung:
    1. Punkteingabeliste (semi)automatisch aufteilen; passende Batch-Skripts automatisch erzeugen. Anwendung: Kodimensionskorrektur für Punktliste parallel berechnen.
    2. icc ausprobiert - kein nennenswerter Performanceunterschied im Vergleich zu gcc erzielt
    3. Gesamtlaufzeit (ohne Lift-Test) um 30% verringert.
    4. Dauer von Glattheistests reduziert, so das jetzt 14 Tests pro Sekunde geschafft werden
    5. Nutzung der Multimedia-Register (SSE2) für die Glattheitstests probeweise implementiert.
    6. Modulo-Rechnung im C-Schritt nochmal verschoben. c.a. 15 % Leistungssteigerung.
    7. gezählt, von wo und in welcher Stufe der Frommer-Alg. aufgerufen wird., Dauer: Tage
    8. Enwurf für die Frommer-Implementierung unter Verwendung der Multimedia-Register überlegt.
    9. LLVM ausprobiert
  9. neue Eingabeparameter
    1. Neuen Eingabeparameter minComponentCodim aufgenommen, um die Punkterfassung und die Statistukerfassung getrennt steuern zu können.
    2. Der neue Parameter minComponentCodim wird in die DB eingetragen werden, damit man auch eine korrekte Statistikanfrage über das Punkteformular machen kann.
  10. Optimierung: herausfinden, ob SSE Register für die Berechnung der Strudelgrößen genutzt werden können, Dauer Tage
    1. gemessen, wieviel Zeit in welchem Ast in der Formel23 verbraucht wird, Dauer : Tage
  11. mehr Rechner:
    1. 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.
    2. 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.
      1. Rechenkapazität GWDG: http://wwwuser.gwdg.de/~parallel/parallelrechner/Hardware_Ueberblick.html), Zugang (eduroam-Account Antrag, dann Mail an Rechenserver-Betreuer)
      2. Kontingent: https://benutzer-portal.gwdg.de/IDM/portal/cn/GWDG-Benutzer%20Containerseite/GWDG
  12. Fehlerschätzung Komponentenanzahl:
    1. meine Theorie, dass die Statistik um Wurzel(Charakteristik) pro Formel korrigiert werden muss, scheint nicht zuzutreffen.
  13. Python-Eintrageskript verbraucht zuviel Speicher
    1. Speicherrpoblem verursacht durch Stringverarbeitung; gelöst (verwende StringIO zur Stringkonkatenation)
  14. CRCG_Wiki-Seite im Netz doppelt. Umleitung erfolgt nur von der Hauptseite aus.
  15. Datenbank
    1. Datensicherheit: SB spiegeln oder regelmäßig sichern
  16. Webseite
    1. Übersichts-Seite über die in der DB gespeicherten Punkte erstellen - Ausreichend gelöst, Information bei den Quadrik-Statistiken
    2. centerfocus.de registrieren, dazu bei Hosteurope "domainkonnektierung im DNS mit PLESK und AUTO-DNS" anschauen.
    3. die Seite 'centerfocus.de' ist auch bei abgeschalteten cookies funktionsfähig
    4. MediaWiki wird als Teil Content Management System für centerfocus.de verwendet.
  17. neues centerfocus paper
    1. Akzeptable Startseite mit Erklaerung wo welche Dateien zu finden sind
    2. README Dateien angepasst
    3. Paket fuer alle Dateien die mit diesem Artikel zu tun haben vorbereitet
  18. Build /Makefiles
    1. Build /Compile nicht im gleichen Ordner mit den Quelldateien.
    2. test target hinzugefügt
  19. Dokumentation
    1. Ordnerstruktur bis auf Experimente erklärt
  20. Kodimension-Korrektur durch approx. des Tangentialkegel (bis Quadriken)
    1. Idealzerlegung in Singular, Macaulay und Magma aus dem C++-Programm heraus
  21. Timing
    1. Magma und Singular Startzeit samt Skriptladevorgang ermittelt.
  22. Zufallsversuche mit Kodimensions-Korrektur ? teilweise erledigt - keine Kombinationen der Methoden (bspsw. minAssChar, minAssGTZ gleichzeitig) implementiert.

Delayed

Schnelles Rechnen über endlichen Körpern in Macaulay:

  1. GMP und Givaro standalone configure Parameter herausfinden - zur Zeit nicht notwendig. DELAYED

centerfocus

  1. manueller Upload von Versuchsergebnissen, Dauer Tage
  2. 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;
  3. Python-Eintrageskript ist langsam
    1. Geschwindigkeitsproblem: zurückgestellt, ist noch nicht kritisch

Infrastruktur

  1. eigene
    1. mehr Rechner
      1. 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

Rejected

  1. 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.
  2. Glattheits-Projekt
    1. Qadrik-Statistik nur berechnen, wenn der Glattheitstest-Test nicht bestanden wurde - anderenfalls gibt es sowieso keine Quadriken! Ablehnungsgrund: Quadrik-Berechnung wesentlich billiger als Glattheitstest
  3. Konsistenz
    1. Sicherstellen, dass Dateien vom centerfocus-Programm atomar erzeugt werden. - Für interne Zwecke ausreichend gelöst.

Notizen

  1. Message Passing: MessagePack, Json, TPO++, myrpc - required to distrubute work to several computers.
Personal tools