Skip to content

Commit

Permalink
🔀 solve merge conflicts.
Browse files Browse the repository at this point in the history
  • Loading branch information
Drewniok committed Mar 18, 2024
2 parents ab04706 + 4acb6ac commit 9cc4d13
Show file tree
Hide file tree
Showing 47 changed files with 1,832 additions and 286 deletions.
38 changes: 25 additions & 13 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,24 +36,29 @@ jobs:
build_and_test:
strategy:
matrix:
os: [ macos-11, macos-12 ]
compiler: [ g++-11, g++-12, clang++ ]
os: [ macos-12, macos-13, macos-14 ]
compiler: [ g++-11, g++-12, g++-13, clang++ ]
build_type: [ Debug, Release ]
include:
- os: macos-12
architecture: x64
- os: macos-13
architecture: x64
- os: macos-14
architecture: arm64
- compiler: clang++
ccompiler: clang
- compiler: g++-11
ccompiler: gcc-11
- compiler: g++-12
ccompiler: gcc-12
- os: macos-11
compiler: g++-10
ccompiler: gcc-10
build_type: Debug
- os: macos-11
compiler: g++-10
ccompiler: gcc-10
build_type: Release
exclude:
- os: macos-14
compiler: g++-11
- os: macos-14
compiler: g++-12
- os: macos-14
compiler: g++-13

name: ${{matrix.os}} with ${{matrix.compiler}} (${{matrix.build_type}} mode)
runs-on: ${{matrix.os}}
Expand All @@ -70,11 +75,18 @@ jobs:
run: brew install tbb

# Use XCode 13.2 as a workaround because XCode 14.0 seems broken
- name: Setup XCode version
- if: matrix.os == 'macos-12'
name: Setup XCode version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "^13.2"

- if: matrix.os == 'macos-13' || matrix.os == 'macos-14'
name: Setup XCode version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "^14.2"

- name: Setup ccache
uses: hendrikmuhs/[email protected]
with:
Expand All @@ -89,7 +101,7 @@ jobs:
with:
version: ${{env.Z3_VERSION}}
platform: macOS
architecture: x64
architecture: ${{matrix.architecture}}
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

Expand All @@ -115,7 +127,7 @@ jobs:
- name: Build
working-directory: ${{github.workspace}}/build
run: cmake --build . -j3 # macOS runners provide 3 cores
run: cmake --build . -j3 # all macOS runners provide at least 3 cores

- name: Test
working-directory: ${{github.workspace}}/build
Expand Down
3 changes: 2 additions & 1 deletion docs/algorithms/algorithms.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,10 @@ Physical Design
orthogonal.rst
one_pass_synthesis.rst
color_routing.rst
apply_gate_library.rst
hexagonalization.rst
post_layout_optimization.rst
determine_clocking.rst
apply_gate_library.rst
design_sidb_gates.rst


Expand Down
2 changes: 1 addition & 1 deletion docs/algorithms/apply_gate_library.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ implementations for each gate present in the passed ``gate_level_layout``.

.. tabs::
.. tab:: C++
**Header:** ``fiction/layouts/apply_gate_library.hpp``
**Header:** ``fiction/algorithms/physical_design/apply_gate_library.hpp``

.. doxygenfunction:: fiction::apply_gate_library(const GateLyt& lyt)

Expand Down
2 changes: 2 additions & 0 deletions docs/algorithms/color_routing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ to the layout.

.. doxygenstruct:: fiction::color_routing_params
:members:
.. doxygenstruct:: fiction::color_routing_stats
:members:
.. doxygenfunction:: fiction::color_routing(Lyt& lyt, const std::vector<routing_objective<Lyt>>& objectives, color_routing_params ps = {}, color_routing_stats* pst = nullptr)

.. tab:: Python
Expand Down
2 changes: 2 additions & 0 deletions docs/algorithms/design_sidb_gates.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
SiDB Gate Designer
------------------

.. _gate_design:

**Header:** ``fiction/algorithms/physical_design/design_sidb_gates.hpp``

.. doxygenstruct:: fiction::design_sidb_gates_params
Expand Down
16 changes: 16 additions & 0 deletions docs/algorithms/determine_clocking.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
.. _determine-clocking:

Determine Clocking
------------------

**Header:** ``fiction/algorithms/physical_design/determine_clocking.hpp``

Determines a new clock number assignment for the given gate-level layout. Whether the layout has useful/valid clocking
information or not, this function will override each gate and wire segment with new clocking information if a valid
clock number assignment exists.

.. doxygenstruct:: fiction::determine_clocking_params
:members:
.. doxygenstruct:: fiction::determine_clocking_stats
:members:
.. doxygenfunction:: fiction::determine_clocking
5 changes: 3 additions & 2 deletions docs/algorithms/exact.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ network specifications under constraints. This approach finds exact results but

.. doxygenstruct:: fiction::exact_physical_design_params
:members:
.. doxygenfunction:: fiction::exact
.. doxygenfunction:: fiction::exact_with_blacklist
.. doxygenstruct:: fiction::exact_physical_design_stats
:members:
.. doxygenfunction:: fiction::exact(const Ntk& ntk, const exact_physical_design_params<Lyt>& ps = {}, exact_physical_design_stats* pst = nullptr)

.. tab:: Python
.. autoclass:: mnt.pyfiction.exact_params
Expand Down
22 changes: 13 additions & 9 deletions docs/algorithms/graph.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ Generate Edge Intersection Graph

.. doxygenstruct:: fiction::generate_edge_intersection_graph_params
:members:
.. doxygenstruct:: fiction::generate_edge_intersection_graph_stats
:members:
.. doxygenfunction:: fiction::generate_edge_intersection_graph


Expand All @@ -15,15 +17,17 @@ Graph Coloring
.. tab:: C++
**Header:** ``fiction/algorithms/graph/graph_coloring.hpp``

.. doxygenenum:: fiction::graph_coloring_engine
.. doxygenenum:: fiction::graph_coloring_sat_search_tactic
.. doxygenstruct:: fiction::determine_vertex_coloring_sat_params
:members:
.. doxygenstruct:: fiction::determine_vertex_coloring_heuristic_params
:members:
.. doxygenstruct:: fiction::determine_vertex_coloring_params
:members:
.. doxygenfunction:: fiction::determine_vertex_coloring
.. doxygenenum:: fiction::graph_coloring_engine
.. doxygenenum:: fiction::graph_coloring_sat_search_tactic
.. doxygenstruct:: fiction::determine_vertex_coloring_sat_params
:members:
.. doxygenstruct:: fiction::determine_vertex_coloring_heuristic_params
:members:
.. doxygenstruct:: fiction::determine_vertex_coloring_params
:members:
.. doxygenstruct:: fiction::determine_vertex_coloring_stats
:members:
.. doxygenfunction:: fiction::determine_vertex_coloring

.. tab:: Python
.. autoclass:: mnt.pyfiction.graph_coloring_engine
Expand Down
6 changes: 4 additions & 2 deletions docs/algorithms/one_pass_synthesis.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,7 @@ opportunity to generate even smaller layouts than ``exact``. Consequently, this

.. doxygenstruct:: fiction::one_pass_synthesis_params
:members:
.. doxygenfunction:: fiction::one_pass_synthesis(const std::vector<TT>& tts, one_pass_synthesis_params ps = {}, one_pass_synthesis_stats* pst = nullptr)
.. doxygenfunction:: fiction::one_pass_synthesis(const Ntk& ntk, const one_pass_synthesis_params& ps = {}, one_pass_synthesis_stats* pst = nullptr)
.. doxygenstruct:: fiction::one_pass_synthesis_stats
:members:
.. doxygenfunction:: fiction::one_pass_synthesis(const std::vector<TT>& tts, const one_pass_synthesis_params<Lyt>& ps = {}, one_pass_synthesis_stats* pst = nullptr)
.. doxygenfunction:: fiction::one_pass_synthesis(const Ntk& ntk, const one_pass_synthesis_params<Lyt>& ps = {}, one_pass_synthesis_stats* pst = nullptr)
2 changes: 2 additions & 0 deletions docs/algorithms/orthogonal.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ to a 3-graph. At the same time, the output layout will always be 2DDWave-clocked

.. doxygenstruct:: fiction::orthogonal_physical_design_params
:members:
.. doxygenstruct:: fiction::orthogonal_physical_design_stats
:members:
.. doxygenfunction:: fiction::orthogonal(const Ntk& ntk, orthogonal_physical_design_params ps = {}, orthogonal_physical_design_stats* pst = nullptr)

.. tab:: Python
Expand Down
2 changes: 2 additions & 0 deletions docs/algorithms/post_layout_optimization.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
Optimizing 2DDWave-clocked Cartesian Layouts
--------------------------------------------

.. _post_layout_opt:

This algorithm aims to decrease the overall layout area of a given 2DDWave-clocked Cartesian layout that has been
generated using either heuristic methods or machine learning techniques. It achieves this objective by strategically
repositioning gates within the layout, removing excess wiring, and effectively relocating outputs to more favorable
Expand Down
20 changes: 20 additions & 0 deletions docs/algorithms/sidb_simulation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ Heuristic Ground State Simulation
Exhaustive Ground State Simulation
##################################

.. _quickexact:

.. tabs::
.. tab:: C++
**Header:** ``fiction/algorithms/simulation/sidb/quickexact.hpp``
Expand Down Expand Up @@ -209,6 +211,8 @@ Random SiDB Layout Generator
Operational Domain Computation
##############################

.. _opdom:

.. tabs::
.. tab:: C++
**Header:** ``fiction/algorithms/simulation/sidb/is_operational.hpp``
Expand Down Expand Up @@ -260,6 +264,14 @@ Operational Domain Computation
Utility Functions
#################

Simulation Equivalence Checking
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

**Header:** ``fiction/algorithms/simulation/sidb/check_simulation_results_for_equivalence.hpp``

.. doxygenfunction:: fiction::check_simulation_results_for_equivalence


Charge Detection
^^^^^^^^^^^^^^^^

Expand Down Expand Up @@ -317,6 +329,14 @@ Assess Population Stability
.. autofunction:: mnt.pyfiction.assess_physical_population_stability


Positive Charge Detection
^^^^^^^^^^^^^^^^^^^^^^^^^

**Header:** ``fiction/algorithms/simulation/sidb/can_positive_charges_occur.hpp``

.. doxygenfunction:: fiction::can_positive_charges_occur


Convert Potential to Distance
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down
14 changes: 9 additions & 5 deletions docs/algorithms/verification.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@ Design Rule Violations (DRVs)
.. tab:: C++
**Header:** ``fiction/algorithms/verification/design_rule_violations.hpp``

.. doxygenstruct:: fiction::gate_level_drv_params
:members:
.. doxygenfunction:: fiction::gate_level_drvs
.. doxygenstruct:: fiction::gate_level_drv_params
:members:
.. doxygenstruct:: fiction::gate_level_drv_stats
:members:
.. doxygenfunction:: fiction::gate_level_drvs

.. tab:: Python
.. autoclass:: mnt.pyfiction.gate_level_drv_params
Expand All @@ -23,8 +25,10 @@ Equivalence Checking
.. tab:: C++
**Header:** ``fiction/algorithms/verification/equivalence_checking.hpp``

.. doxygenenum:: fiction::eq_type
.. doxygenfunction:: fiction::equivalence_checking
.. doxygenenum:: fiction::eq_type
.. doxygenstruct:: fiction::equivalence_checking_stats
:members:
.. doxygenfunction:: fiction::equivalence_checking

.. tab:: Python
.. autoclass:: mnt.pyfiction.eq_type
Expand Down
Loading

0 comments on commit 9cc4d13

Please sign in to comment.