jamesavery / fullerenes

4 stars 2 forks source link

User Release tasks. #12

Open jamesavery opened 10 months ago

jamesavery commented 10 months ago

All the newer developments of the Fullerene program has been unavailable to others for a long time (last publically usable version is many years old now). People still regularly ask Peter how to get it running on their own systems - before everyone loses interest, we want to make a new public release.

In this github issue, we'll try to collect the tasks that need to be done in order to get the development version of Fullerene into a stable version that can be used by researchers (both the ~400 research groups that have already used it to be able to use it again, and new users).

jamesavery commented 10 months ago
  1. Compile and tests on a range of representative platforms (CPU: g++, clang, icpp, GPU: nvcc and dpc++. Possibly also OpenSYCL).
  2. Gather overview of current functionality and structure sensibly. Identify core functionality to be accessible through 3+4 (experimental functionality we can keep through C++ user programs for now).
  3. Design new program interface (Fortran input lists were already outdated 10 years ago). Possibly Python+pybind-based setups.
  4. Design GUI (will expand possible user base dramatically).
  5. Implement GUI for core functionality.
  6. Write up documentation about current functionality (will serve as basis for paper to publish together with release of new version).
  7. Build unit tests for continuous integration.
  8. ???
  9. Profit.