HPC GAP TODO

Max Horn edited this page Jul 30, 2017 · 10 revisions

Things that need to be done in HPC-GAP. See also: List of open issues with HPC-GAP label

Unification with GAP

See also:

Usability

  • add readline support (see issue #467)
  • add color prompt (see issue #39)
  • fix copy&paste in terminal (see issue #1474]
  • stable and highly usable single-threaded mode:
    • [ ]reduce the performance difference in single threaded mode; right now HPC-GAP is slower than GAP in that mode; one major factor that supposedly is Boehm GC (for details, talk to Reimer, or also to Chris, Markus, Max)
    • fix usage issues caused by e.g. things being in different regions, even though the user really only uses a single thread
  • make it trivial to compile kernel extensions against HPC-GAP, e.g. from the io package (right now, one needs to set custom CPPFLAGS, otherwise headers for Boehm GC and libatomic_ops are not found; might also be a problem for GMP headers, if GAP built its own GMP)
  • ...

Backporting code to GAP

Some code in HPC-GAP could be of interest for "plain" GAP, too, and we should investigate backporting it. That includes adding tests and documentation.

Improve accessibility of new features

  • Improve documentation for users
    • verify description of new features, make sure it is correct and up-to-date, and helpful
    • add tons of examples
    • Add some HPC tutorials which show with somewhat non-trivial examples how to use various features together.
  • Improve documentation for package authors
    • e.g. provide instructions and help for "porting" packages to HPC-GAP
  • Improve documentation for library & kernel developers
    • e.g. instructions on how to integrate ward into build system for C kernel extensions...
    • ... and perhaps also some guidelines for packages with C++ kernel extensions (which ward doesn't support)

Miscellaneous

  • Some related (though possibly outdated or obsolete) references:
  • Document various global #defines like HPCGAP and WARD_ENABLED in a prominent place
  • Allow using system wide versions of Boehm GC and libatomic ops (see issue #1446)
  • Figure out what to do with the MPI code that HPC-GAP brought along (based on ParGAP); see also the relevant pull requests and discussion on the GAP mailing list
  • Adapt packages ...
    • ... to at least load and be usable in single-threaded HPC-GAP ...
    • ... to work in multi-threaded HPC-GAP ...
    • ... to take advantage of multi-threaded HPC-GAP
  • ...
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.