What are the recommended approaches for querying completed results? #1581
-
I'm just getting started with covalent, and I found it super intuitive to set up and run workflows (lattices). That said, it's not yet clear to me how to best query the results when dealing with high-throughput calculations. Do you have any suggestions? Are there mechanisms for querying the data that is generated aside from using the GUI? For instance, here are some scenarios:
I know I can query individual lattices by the dispatch ID with For context, I am coming from this as a user of Fireworks, which stores results in a Mongo database that can then be queried by the user. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hello @arosen93! 👋 Thank you for your interest in Covalent!
I understand your concern. Covalent's design approach differs slightly from other HPC workflows, such as Fireworks. In scenarios with high-throughput calculations, for example, 1000s of computations, it's preferable to create 1000s of electrons within a single lattice rather than dispatching 1000s of lattices. This allows post-processing steps and other operations to be performed right after the completion of those 1000 electrons. For your reference, we typically run stress tests with 5-10k electrons in a single lattice, which is well-supported by our system. However, when using a local laptop for hosting the UI, you may experience some UI stuttering. We are working on optimizing this as well ! In this setup, "querying" a result from one of those 1000 calculations is simply accessing a node's result, rather than dealing with 1000s of lattices. The electrons' inputs/outputs can be programmatically accessed via the result object as well. Consider a lattice as a single "experiment" and an electron as a unit of computation. For example, if you're generating 1000 different configurations of material to calculate the total energy and then selecting a few configurations for further analysis, you'd create a single lattice with 1000 individual electrons. These results can then be combined in a sublattice for subsequent, higher-quality calculations. In future releases, we plan to introduce features like adding or swapping electrons in existing lattices, re-dispatching lattices to continue from where they stopped or failed, and more. These enhancements are designed to improve the high-throughput calculation experience just like the one you mentioned. Additionally, we will be implementing project management features such as tagging and organization in the UI for better experiment organization as well ! Regarding your question on managing results from multiple projects:
Covalent maintains a central database for all your dispatches, irrespective of the lattice or where it is dispatched from. Running Please feel free to let us know if you have any other questions or feature requests (or if you want to contribute !) ⭐ |
Beta Was this translation helpful? Give feedback.
Hello @arosen93! 👋 Thank you for your interest in Covalent!
I understand your concern. Covalent's design approach differs slightly from other HPC workflows, such as Fireworks. In scenarios with high-throughput calculations, for example, 1000s of computations, it's preferable to create 1000s of electrons within a single lattice rather than dispatching 1000s of lattices. This allows post-processing steps and other operations to be performed right after the completion of those 1000 electrons.…