Project

General

Profile

Bug #3136

Task #2045: API design and language bindings

Feature #2994: Data flow topology in gmxapi 2020

gmxapi.operation data flow topology unclear or incomplete

Added by Eric Irrgang 12 months ago. Updated 10 months ago.

Status:
New
Priority:
Normal
Assignee:
Category:
gmxapi
Affected version - extra info:
Affected version:
Difficulty:
uncategorized
Close

Description

The ensemble data flow use cases implied by the example scripts are ambiguously or incompletely implemented. This is particularly apparent with the gmxapi.commandline_operation tool.

Part of the problem is a combinatoric explosion of complexity between scalar data, array data, data Futures, and implicit or explicit ensembles. The best solution is to finally implement the (C++ based) gmxapi typing system and data interface, in which all data has shape and supports the Future interface, but there are nearer-term tasks.

Remediation:

Initial resolution steps are the triage described in issue #3130 and documentation updates for gmxapi.operation and gmxapi.commandline.

Then:
- Separate the user experience from the data model implementation details. We will first require user data input to be wrapped / annotated with a single function, clarifying that operations take "gmxapi data objects" as input, and consolidating details such as "which dimensions can be scattered from or parallelized?". Then the discussion can proceed regarding the interface of such a helper function, and the heuristics for implicit conversion of native Python types (or non-gmxapi-native objects) to gmxapi data objects.
- Create the core gmxapi data object and move future development to C++, separating the implementation from the interface used in the gmxapi package implementation. (May be beyond the scope of the bug fix.)

This issue can be considered resolved when both UI and API are well defined and behaving as documented for a known upcoming gmxapi version number.


Related issues

Related to GROMACS - Bug #3150: gmxapi data type annotations are confusing and inadequateNew
Blocked by GROMACS - Task #3130: Interim handling of gmxapi data references.New

History

#2 Updated by Eric Irrgang 12 months ago

  • Blocked by Task #3130: Interim handling of gmxapi data references. added

#3 Updated by Eric Irrgang 12 months ago

  • Description updated (diff)

#4 Updated by Eric Irrgang 12 months ago

  • Private changed from Yes to No

#5 Updated by Eric Irrgang 12 months ago

  • Related to Bug #3150: gmxapi data type annotations are confusing and inadequate added

#7 Updated by Eric Irrgang 11 months ago

  • Target version changed from 2020-beta2 to 2020-beta3

#8 Updated by Paul Bauer 10 months ago

  • Target version changed from 2020-beta3 to 2020-rc1

bump!

#9 Updated by Eric Irrgang 10 months ago

  • Target version changed from 2020-rc1 to 2021-infrastructure-stable

The solution involves code reorganization and UI changes that are now beyond the scope of gmxapi 0.1.0 and GROMACS 2020 rc1. Where necessary, current behavior can be clarified with documentation updates or bug fixes. More complete solutions are targeted for gmxapi 0.2.

Also available in: Atom PDF