-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✨ Multi-dimensional operational domain computation #493
Conversation
Signed-off-by: GitHub Actions <[email protected]>
…o opdomain-explorer-additions
Signed-off-by: GitHub Actions <[email protected]>
…o opdomain-explorer-additions
…thread`s instead of execution policies
Signed-off-by: GitHub Actions <[email protected]>
…o opdomain-explorer-additions
Signed-off-by: GitHub Actions <[email protected]>
…o opdomain-explorer-additions
Signed-off-by: GitHub Actions <[email protected]>
…o opdomain-explorer-additions
Signed-off-by: GitHub Actions <[email protected]>
# Conflicts: # libs/mockturtle # libs/pybind11
Signed-off-by: GitHub Actions <[email protected]>
…o opdomain-explorer-additions
…he `detail` namespace
Signed-off-by: GitHub Actions <[email protected]>
…o opdomain-explorer-additions
Signed-off-by: GitHub Actions <[email protected]>
…o opdomain-explorer-additions
@marcelwa many thanks! I assume the CLI issue is fixed, right? |
Ah right, I forgot to mention that. Unfortunately, I just couldn't find the source of the problem there 😕 the error occurs when you pass parameter ranges to the CLI where the min value is larger than the max value. On first try, the correct error handling is triggered. When you pass the exact same command a second time, no error handling happens (and I think OpDom is executed with default parameters). Next time, the error handling is triggered again, and so forth. |
okay, that's a pity. Should we then leave a comment in |
That's a good idea. Thanks! |
bindings/pyfiction/include/pyfiction/algorithms/simulation/sidb/operational_domain.hpp
Outdated
Show resolved
Hide resolved
experiments/operational_domain/operational_domain_3d_bestagon.cpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/operational_domain.hpp
Outdated
Show resolved
Hide resolved
include/fiction/algorithms/simulation/sidb/operational_domain.hpp
Outdated
Show resolved
Hide resolved
…sn't reset the CLI parameters properly
Signed-off-by: GitHub Actions <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Many, many thanks for your hard work and this new set of algorithms!
Description
This PR mainly introduces multi-dimensional operational domain computation. That is, it provides a framework for performing physical simulations over arbitrary sweep dimensions. Currently, the dimensions
epsilon_r
,lambda_tf
, andmu_minus
are supported, but new ones can be added easily.This PR also incorporates various performance improvements, particularly concerning multithreading in operational domain computation. To this end, it abandons the previously utilized C++ execution policies in favor of manual thread management. This not only makes the code less platform-dependent and offers increased performance in the Python bindings, but it also enables us to tweak load-balancing, particularly for grid search, which is now really fast given sufficient CPU cores.
Grid search and random sampling support true multi-dimensional operational domain sweeps. Flood fill supports two- and three-dimensional sweeps. Contour tracing is limited to two dimensions by design.
Checklist: