Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
✨ Multi-dimensional operational domain computation (#493)
* ✨ Added I/O coloring to SiDB layout printing * 🎨 Changed the default operational/non-operational tags to `1` and `0` * 🎨 Small changes * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 💩 Save commit, stuff doesn't work yet * ✨ Exposed `bdl_input_iterator` in pyfiction * 📝 Added RST documentation * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🧵 First attempt to port grid search from execution policies to manual threading * 🧵 Rewrite `random_sampling` in `operational_domain.hpp` to use `std::thread`s instead of execution policies * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🎨 Reduced code duplication; more work can be done here in `grid_search` * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * ✨ Introduce n-dimensional operational domain computation (needs testing) * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🎨 Small code clean up * ✨ Added 3D Moore neighborhood * ✅ Added test cases for 3-dimensional operational domain computation * ✨ Support n-dimensional operational domains in `write_operational_domain` * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * ✨ Support n-dimensional operational domains in experiments * ✨ Added Bestagon experiment script * ✨ Enabled Contour Tracing-based operational domain computation to work on operational domains that possess multiple islands * ⚗️ Added an operational domain computation experiment script for the Bestagon gate library * ⚗️ Added 3D versions of the operational domain computation experiment scripts and added total runtime tracking * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * ✨ Added a flag to `write_operational_domain` to skip the writing of non-operational samples to reduce the resulting CSV file * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * ⚡ Performance improvements by reserving vector space prior to assignment * 🎨 Minor consistency fixes * ⚗️ Small 3D operational domain experiment adjustments * ⚗️ Increased number of random samples * ⚗️ Increased resolution for 3D operational domain experiments * ⚡ Improved load-balancing in multithreaded grid search-based operational domain computation, which increases performance * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * ✏️ Fixed a typo * 📝 Fixed a docstring ambiguity * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🔀 conduct merge. Python bindings are not updated yet. * 🎨 Incorporated pre-commit fixes * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🔀 adjust some python APIs * 🎨 small adjustments after merge. * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * ⬆️ use submodule versions from main. * 🎨 Incorporated pre-commit fixes * 🎨 small fix of experiments after merge. * 🐍 adjust python binding after merge * 🐛 use mutex to avoid race conditions. * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🧵 use multithreading for grid_search_for_physically_valid_parameters * 📝 fix docu. * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 📝 small fix. * 📝 fix missing doc-label. * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * ✅ unit test for math utils function. * ✅ add unit tests. * ✅ add test for parameter point. * 🎨 Improved consistency in naming, docstrings, formatting, etc. * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🎨 Remove unnecessary lock guards * 🎨 Remove unnecessary lock guards * 🧵 Thread-safe value-retrieval from std::atomic types * 🎨 Minor consistency fixes * 🧵 Switched std::mutex to std::shared_mutex for parallel read access * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🧵 Removed the need for manual mutexes and locks in operational domain computation * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🚸 Added sweep parameter validity checks * 🐛 Fixed operational domain z-dimension handling in the CLI's `opdom` command * 🐛 Fixed command `tt`'s truth table string parsing * 📝 Added documentation on the new `opdom` CLI functionality * 📝 Updated the operational domain docstrings for flood fill and contour tracing in accordance with the latest changes * 🚸 Added checks for step size values (negative, 0) to operational domain computation * 📝 Clarified docstring * 📝 Fixed a documentation copy-paste bug * 🎨 `const`ness and include cleanup * 📝 Fixed header date in experiment script * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🐛 Fixed return value of `operational_domain::get_value` * 🐍 Updated pyfiction docstrings with regard to operational domain computation changes * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 📝 Fixed Python documentation for `bdl_input_iterator` * 🎨 Removed unused include * 🎨 Moved `contains_parameter_point` and `find_key_with_tolerance` to the `detail` namespace * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🐛 Added missing forward-declaration to fix compiler error * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🐛 Fixed compiler error in `determine_physically_valid_parameters` * 🎨 Incorporated Jan's feedback * 🎨 Restructured code in an effort to circumvent the alice bug that doesn't reset the CLI parameters properly * 📝 Mentioned CLI bug in docstring * 📝 Update pyfiction docstrings Signed-off-by: GitHub Actions <[email protected]> * 🐍 Added `sample_writing_mode` to `write_operational_domain`'s Python bindings --------- Signed-off-by: GitHub Actions <[email protected]> Co-authored-by: GitHub Actions <[email protected]> Co-authored-by: Drewniok <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Jan Drewniok <[email protected]>
- Loading branch information