Skip to content

Horace framework redesign ideas

Duc Le edited this page May 29, 2019 · 11 revisions

Horace framework redesign ideas

Overview of Horace and Herbert

Current proposals

PACE project objectives

Taken from the PACE project brief (to be put online once sensitive information has been redacted).

Possible discussion topics

  • What parts of Horace needs to be rewritten / refactored in order to accomplish the goals of PACE?
    • Should the rewrite stay with using Matlab, or should it use C++ or Python?
    • If Matlab is not used, should the Horace be rewritten entirely in another language?
    • What issues (re: maintenance, debugging, etc.) would be raised if we have a mix of Matlab and non-Matlab in the core of Horace?
  • Given the objectives of PACE, how much developer effort should be spent on the Horace framework vs the other objectives (TobyFit, SpinW, Phonons, powders)?
  • How important is it to support the use of Horace/PACE without needing licenses for:
    • Matlab toolkits (e.g. the Parallel Computing Toolkit)?
    • Matlab itself (no-license running)?
  • How important is a parallel file system (where multiple nodes can read / write different parts of the same file on a shared network drive at the same time)?
    • How widespread is this capability on different machines or clusters?
    • The use case for this is whole-file element-by-element operations such as scaling all pixels or subtracting one sqw-file from another.

Rough estimates for developer time required for each task / work-package

Very, very approximate time estimates for various options for PACE