Skip to content
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

🚧 Displacement Robustness Domain Simulation #416

Open
wants to merge 51 commits into
base: main
Choose a base branch
from

Conversation

Drewniok
Copy link
Collaborator

Description

This PR presents the first version of the Displacement Robustness Domain Simulation. It is a starting point and further ideas will be incorporated step by step.

Checklist:

  • The pull request only contains commits that are related to it.
  • I have added appropriate tests and documentation.
  • I have made sure that all CI jobs on GitHub pass.
  • The pull request introduces no new warnings and follows the project's style guidelines.

@Drewniok Drewniok added the enhancement New feature or request label Apr 20, 2024
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

@Drewniok Drewniok requested a review from marcelwa April 23, 2024 06:56
@marcelwa
Copy link
Collaborator

@Drewniok will you provide Python bindings for this algorithm?

@Drewniok
Copy link
Collaborator Author

@Drewniok will you provide Python bindings for this algorithm?

Yes, I will do that when we are clear about the structure.

Copy link
Collaborator

@marcelwa marcelwa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here are a few comments regarding the general structure of the code. Hope we can iterate from here 🙂

@Drewniok
Copy link
Collaborator Author

Here are a few comments regarding the general structure of the code. Hope we can iterate from here 🙂

Thanks for your feedback! 🙏 I will address them asap.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

/**
* The SiDB cell-level layout/SiDB gate for which the displacement robustness calculation is performed.
*/
const Lyt& layout;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: member 'layout' of type 'const Lyt &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]

    const Lyt& layout;
               ^

/**
* The statistics of the displacement robustness computation.
*/
displacement_robustness_domain_stats& stats;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: member 'stats' of type 'displacement_robustness_domain_stats &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]

    displacement_robustness_domain_stats& stats;
                                          ^

/**
* The specification of the layout.
*/
const std::vector<TT>& truth_table;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: member 'truth_table' of type 'const std::vector &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]

    const std::vector<TT>& truth_table;
                           ^

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

*/
const Lyt& layout;
/**
* The parameters for the displacement robustness computation.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: member 'layout' of type 'const Lyt &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]

    const Lyt& layout;
               ^

*/
displacement_robustness_domain_stats& stats;
/**
* This stores all possible displacements for all SiDBs in the SiDB layout. This means e.g. the first vector
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: member 'stats' of type 'displacement_robustness_domain_stats &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]

    displacement_robustness_domain_stats& stats;
                                          ^

*/
const std::vector<TT>& truth_table;
/**
* Random device for obtaining seed for the random number generator.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: member 'truth_table' of type 'const std::vector &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]

    const std::vector<TT>& truth_table;
                           ^

@Drewniok Drewniok requested a review from marcelwa April 30, 2024 10:19
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

/**
* The SiDB layout for which the displacement robustness calculation is performed.
*/
const Lyt& layout;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: member 'layout' of type 'const Lyt &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]

    const Lyt& layout;
               ^

/**
* The statistics of the displacement robustness computation.
*/
displacement_robustness_domain_stats& stats;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: member 'stats' of type 'displacement_robustness_domain_stats &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]

    displacement_robustness_domain_stats& stats;
                                          ^

/**
* The logical specification of the layout.
*/
const std::vector<TT>& truth_table;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: member 'truth_table' of type 'const std::vector &' is a reference [cppcoreguidelines-avoid-const-or-ref-data-members]

    const std::vector<TT>& truth_table;
                           ^

@Drewniok Drewniok requested review from marcelwa and removed request for marcelwa May 7, 2024 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants