-
Notifications
You must be signed in to change notification settings - Fork 20
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
Looking for Bulls-Eye method #19
Comments
Hi @sun123-cmd, We have used the baseline models and fine-tuned models of OpenABC-D as the synthesis evaluator of simulated annealing for the Bulls-eye paper. The process to train the model and the architecture is present in this repository. Only the simulated annealing wrapper is not present in this repository. The dataset is currently under migration at NYU server and it's taking some time as I'm currently maintaining this along with NYU-IT team support during weekends. We are trying our best to make it online soon. |
Hello, I meet a new problem:
In the init part, only with
I wonder how to fix it? |
Hi @sun123-cmd, I wrote this function for checking purpose in case the graph ml file generated from AIG bench is recoverable and validated to original bench file. However, the function is deprecated and I believe shouldn't be called while you run the utility andAIG2Graphml.py. Is your purpose to recover AIG in graph ml format back to bench? If that's the case, I may look into this. At the outset it looks like, if you define a dictionary of gateType = {"BUFF":0, "NOT":1 , "AND":2} should solve the purpose, but I have to check at its validity. Like I said, it is not a mandatory function for andAIG2Graphml and was written for validation purpose during development phase to check the graphml generated matches the original andAIG bench file if I'm given the graphml. Let me know if you need it for similar purpose and I can look over this. |
Thanks so much for your reply! |
What is the starting circuit representation you're working with? The openABC-D flow assumes the following flow: AIG (in bench format) --> Graphml --> .pt format --> Regression --> Predict QoR For this flow, you need to first run andAIG2graphml.py followed by PyGDataAIG.py to convert each graphml to .pt format. You can tweak PyGDataAIG.py to consume your labels and generate .pt format which can be used with any pytorch based GNN frameworks. |
Thanks so much! I will try your method~ |
To get AIG in the bench format, read the circuit in any format in ABC, strash it, and dump it in bench format. The default format for writing bench is in LUT format, but you have to use a toggle flag supported in ABC, via which you can dump the circuit in bench format having only AND, NOT and BUFF gates. You can use that bench output and follow the openABC-D flow to generate the pt datapoints. Alternatively, if you can invoke ABC via python wrapper, you can refer to ABC-RL work (https://github.com/NYU-MLDA/ABC-RL/blob/main/ABC-RL_ICLR/src/LogicSynthesisEnv.py#L105), which is simple and better way of directly extracting data from ABC, convert it into a dictionary, and generate a pytorch data point. This bypass all the steps done in OpenABC-D (convert from bench to grapml to pytorch data point). |
Hi!
Following the format at
Then I copy these
In this way, can I get final QoR predict result of my own circuit? |
Like I just did, errors:
After that I try to modify both
I wonder if my evluate method is wrong? |
Thanks for your excellent work and building of community.
I ' m reading
Too Big to Fail? Active Few-shot Learning Guided Logic Synthesis
, which says thatWe have made our code and associated dataset available to the community at: https://github.com/NYU-MLDA/OpenABC.
The method in this paper is called as "Bulls-Eye"I wonder where can I get codes and models about
Bulls-Eye method
?The text was updated successfully, but these errors were encountered: