@@ -4037,7 +4037,7 @@ In the following table we report the Kendall rank correlation coefficient for pr
...
@@ -4037,7 +4037,7 @@ In the following table we report the Kendall rank correlation coefficient for pr
**Circuit Training Baseline Result on “Our MemPool_Group-NanGate45_68”.**
**Circuit Training Baseline Result on “Our MemPool_Group-NanGate45_68”.**
We have trained CT to generate a macro placement for the [MemPool Group design](../../Flows/NanGate45/mempool_group/). For this experiment we use the NanGate45 enablement; the initial canvas size is generated by setting utilization to 68%. We use the default hyperparameters used for Ariane to train CT for bp_quad design. The number of hard macros in MemPool Group is 324, so we update [max_sequence_length](https://github.com/google-research/circuit_training/blob/6a76e327a70b5f0c9e3291b57c085688386da04e/circuit_training/learning/ppo_collect.py#L53) to 325 in [ppo_collect.py](https://github.com/google-research/circuit_training/blob/6a76e327a70b5f0c9e3291b57c085688386da04e/circuit_training/learning/ppo_collect.py#L53) and [sequence_length](https://github.com/google-research/circuit_training/blob/6a76e327a70b5f0c9e3291b57c085688386da04e/circuit_training/learning/train_ppo.py#L57) to 325 in [train_ppo.py](https://github.com/google-research/circuit_training/blob/6a76e327a70b5f0c9e3291b57c085688386da04e/circuit_training/learning/train_ppo.py#L57).
We have trained CT to generate a macro placement for the [MemPool Group design](../../Flows/NanGate45/mempool_group/). For this experiment we use the NanGate45 enablement; the initial canvas size is generated by setting utilization to 68%. We use the default hyperparameters used for Ariane to train CT for bp_quad design. The number of hard macros in MemPool Group is 324, so we update [max_sequence_length](https://github.com/google-research/circuit_training/blob/6a76e327a70b5f0c9e3291b57c085688386da04e/circuit_training/learning/ppo_collect.py#L53) to 325 in [ppo_collect.py](https://github.com/google-research/circuit_training/blob/6a76e327a70b5f0c9e3291b57c085688386da04e/circuit_training/learning/ppo_collect.py#L53) and [sequence_length](https://github.com/google-research/circuit_training/blob/6a76e327a70b5f0c9e3291b57c085688386da04e/circuit_training/learning/train_ppo.py#L57) to 325 in [train_ppo.py](https://github.com/google-research/circuit_training/blob/6a76e327a70b5f0c9e3291b57c085688386da04e/circuit_training/learning/train_ppo.py#L57).
<aid="MemPoolGroup_NG45_68_CT"></a>
<table>
<table>
<thead>
<thead>
<tr>
<tr>
...
@@ -4125,6 +4125,7 @@ We have trained CT to generate a macro placement for the [MemPool Group design](
...
@@ -4125,6 +4125,7 @@ We have trained CT to generate a macro placement for the [MemPool Group design](
- (Updated on December 21) The following macro placement is generated by [Sayak Kundu](mailto:sakundu@ucsd.edu) based on the tile configuration received from [Matheus Cavalcante](https://scholar.google.com/citations?user=AjcEhm8AAAAJ&hl=en), ETH Zürich and [Jiantao Liu](mailto:jil313@ucsd.edu).
<table>
<thead>
<tr>
<thcolspan="10">MemPool Group-GF12-68% human macro placement</th>
The [Evaluation Flow document](https://docs.google.com/document/d/1xDGFSYxIE0AKsGAI3ccLz1EX3bLHOvDtwl3983G5kYk/edit?usp=sharing) also sheds light on the relative
The [Evaluation Flow document](https://docs.google.com/document/d/1xDGFSYxIE0AKsGAI3ccLz1EX3bLHOvDtwl3983G5kYk/edit?usp=sharing) also sheds light on the relative
...
@@ -5289,6 +5369,167 @@ Details of our SA implementation, which we denote as SA-UCSD, are [here](../../C
...
@@ -5289,6 +5369,167 @@ Details of our SA implementation, which we denote as SA-UCSD, are [here](../../C
**<span style="color:blue">Question 13.</span>** How does human macro placement perform?
We observe human macro placement can achieve smaller wirelength than CT result with similar timing and power numbers. The details of human macro placement generated for BlackParrot (Quad-Core) and MemPool Group on NG45 enablement are as follows:
-**BalckParrot-NG45-68%-1.3ns**: We thank Dr. Jinwook Jung of IBM Research for providing his human macro placement of BlackParrot Quad-Core design as an alternative baseline. The following table and screenshots provide details of BlackParrot (Quad-Core)-NG45-68%-1.3ns human macro placement. (Link to script)
- Dr. Jung informed us that he spent about 0.5 hours learning about the design, 2.5 hours coming up with initial floorplan scripts and an additional 2.5 hours refining the initial version. Dr. Jung also informed us that the design includes 4 identical tiles, each with certain components, and he placed them in a specific arrangement to create more free space.
<table>
<thead>
<tr>
<thcolspan="10">BlackParrot Quad-Core-NG45-68%-1.3ns Human macro placement (not a gridded placement)</th>
-**MemPool Group-NG45-68%-4ns**: The following macro placement is generated by [Sayak Kundu](mailto:sakundu@ucsd.edu) based on the tile configuration received from [Matheus Cavalcante](https://scholar.google.com/citations?user=AjcEhm8AAAAJ&hl=en), ETH Zürich and [Jiantao Liu](mailto:jil313@ucsd.edu). [Link](../../Flows/util/place_mempool_macros.tcl) to the MemPool Group macro placement script. The following table and screenshots provide details of MemPool Group-NG45-68%-1.3ns human macro placement.
<table>
<thead>
<tr>
<thcolspan="10">MemPool Group-NG45-68%-4ns human macro placement (not a gridded placement) (<ahref="#MemPoolGroup_NG45_68_CT">Link</a> to CT result) (<ahref="#MemPoolGroup_NG45_68_CMP">Link</a> to CMP result)</th>
-**Ariane133-NG45-68%-1.3ns**: [Link](../../Flows/NanGate45/ariane133#macro-placement-generated-by-an-industry-engineer-not-a-gridded-placement) to the human macro placement details of Ariane on NG45 enablement.
-**MemPool Group-GF12-68%**: [Link](#MemPool_Group_GF12_Human) to the human macro placement details of MemPool Group on GF12 enablement.
## **Pinned (to bottom) question list:**
## **Pinned (to bottom) question list:**
...
@@ -5303,4 +5544,5 @@ Details of our SA implementation, which we denote as SA-UCSD, are [here](../../C
...
@@ -5303,4 +5544,5 @@ Details of our SA implementation, which we denote as SA-UCSD, are [here](../../C
**<span style="color:blue">[Question 9](#Question9).</span>** Are CT results stable? If not, how much does the outcome vary?
**<span style="color:blue">[Question 9](#Question9).</span>** Are CT results stable? If not, how much does the outcome vary?
**<span style="color:blue">[Question 10](#Question10).</span>** What is the correlation between proxy cost and the postRouteOpt Table 1 metrics?
**<span style="color:blue">[Question 10](#Question10).</span>** What is the correlation between proxy cost and the postRouteOpt Table 1 metrics?
**<span style="color:blue">[Question 11](#Question11).</span>** How does the initial placement generated by different physical synthesis tools affect the CT solution?
**<span style="color:blue">[Question 11](#Question11).</span>** How does the initial placement generated by different physical synthesis tools affect the CT solution?
**<span style="color:blue">[Question 12](#Question12).</span>** How does Simulated Annealing (SA) perform in terms of optimizing the proxy cost?
**<span style="color:blue">[Question 12](#Question12).</span>** How well does Simulated Annealing (SA) optimize the proxy cost?
**<span style="color:blue">[Question 13](#Question13).</span>** How does human macro placement perform?