miniff issueshttps://gitlab.kwant-project.org/qt/miniff/-/issues2021-01-25T11:31:30Zhttps://gitlab.kwant-project.org/qt/miniff/-/issues/21Baking (compiling) fast efficient functions during runtime2021-01-25T11:31:30ZArtem PulkinBaking (compiling) fast efficient functions during runtimeCurrently, bottleneck "potential" functions are compiled at the build time as a separate `_potentials` library. This may not be the optimal choice for those users who are willing to define their own potentials. Currently, they will have ...Currently, bottleneck "potential" functions are compiled at the build time as a separate `_potentials` library. This may not be the optimal choice for those users who are willing to define their own potentials. Currently, they will have to modify package sources and to re-compile it. Another option is to implement compiling during runtime taking simple potential expressions as the input and producing fast library functions as the output.
Function stub example:
```python
def build_potential(expression: str, inputs: Iterable, type: str, openmp: bool=True) -> Callable:
"""
Builds a potential or its gradient with the given expression.
Args:
expression: numerical formula of the potential in python formatting;
inputs: adjustable parameters of the potential;
type: the type of the potential ('potential-2-g' for example);
openmp: if True, makes a parallel function compiled against OpenMP;
Returns:
A function implementing this potential.
"""
# Assemble sources, compile and import the function
```https://gitlab.kwant-project.org/qt/miniff/-/issues/19Implementing typical workflows2021-04-23T10:17:11ZArtem PulkinImplementing typical workflowsThe package requires putting things together into workflows which can be executed in CLI. Initial workflow implementation has been done with a1a42f8df7cbdaec6a59550b315985d07330c733. This issue is here to track additional features to be ...The package requires putting things together into workflows which can be executed in CLI. Initial workflow implementation has been done with a1a42f8df7cbdaec6a59550b315985d07330c733. This issue is here to track additional features to be implemented.
TODO:
- CLI
- workflow serializationhttps://gitlab.kwant-project.org/qt/miniff/-/issues/17Merge no-openmp branch2021-01-07T15:56:41ZArtem PulkinMerge no-openmp branch``no-openmp`` branch contains the package version without OpenMP parallelization. I think it is better if we provide both variants of kernel functions at runtime such that a single package version is maintained.``no-openmp`` branch contains the package version without OpenMP parallelization. I think it is better if we provide both variants of kernel functions at runtime such that a single package version is maintained.Artem PulkinArtem Pulkin