ucla-vast / gnn-dse Goto Github PK
View Code? Open in Web Editor NEWDAC'22 paper: "Automated Accelerator Optimization Aided by Graph Neural Networks"
License: BSD 3-Clause "New" or "Revised" License
DAC'22 paper: "Automated Accelerator Optimization Aided by Graph Neural Networks"
License: BSD 3-Clause "New" or "Revised" License
Hi, I am just wondering how to get the results in your paper. Since there are multiple steps, I am a little confused about how to get the result in Table 2.
I train the model with the default setting and inference with the 'test_model_state_dict.pth'. I thought I would get a similar result with the M7 model (default setting). However, I didn't find any numbers in Table 2 similar.
Could you please tell me the correct steps? In addition, will the regression and classification task get the same result in the metrics from 'Latency' to 'BRAM'? Does the 'All' in Table 2 represents the result of RMSE in the regression task? Does the 'perf' in the log file mean the latency?
When I try to generate graph using programl, say
graph_generator(kernel, path, BENCHMARK, generate_programl = True)
the using of commands llvm2graph and graph2json in programl_script.sh meets some troubles.
I have already installed programl 0.3.2. How can I use these two commands of it?
####################
now processing aes
/home/qinaox/GNN-DSE/GNN-DSE/dse_database/programl_script.sh: line 3: llvm2graph: command not found
/home/qinaox/GNN-DSE/GNN-DSE/dse_database/programl_script.sh: line 4: graph2json: command not found
Traceback (most recent call last):
File "graph_gen.py", line 439, in
graph_generator(kernel, path, BENCHMARK, generate_programl = True)
File "graph_gen.py", line 390, in graph_generator
g_nx = read_json_graph(join(path, name))
File "graph_gen.py", line 78, in read_json_graph
js_graph=json.load(f)
File "/usr/lib/python3.6/json/init.py", line 299, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "/usr/lib/python3.6/json/init.py", line 354, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
When i run the command python3 -W ignore graph-gen.py, it reports an error as following:
This is because the order of functions in the C code is inconsistent with that in the generated llvm IR (xx.ll), thus resulting a wrong match of loops in graph-gen.py. I notice that the given example 'aes' also shows the problem when running graph-gen.py. So how is the final graph (with pragma node) under the 'programl/processed' directory correctly generated ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.