sharc-lab / flowgnn Goto Github PK
View Code? Open in Web Editor NEWA dataflow architecture for universal graph neural network inference via multi-queue streaming.
A dataflow architecture for universal graph neural network inference via multi-queue streaming.
Hello, I was trying to configure the hardware to compute with the cora citation dataset. As far as I understand I need to modify dcl.h to increase her number of max_edge, max_node and nd_feature. Cora has 2708 nodes, 5429 edges and 1433 features per node. If I do these changes in dcl.h resource utilization is too high or compilation fails with message.
excess elements in array initializer (..../FLOWGNN/FlowGNN/GCN/src/message_passing.cc
Do I need to do this in a different way, please ? Also, not sure what to write in ND_FEATURE_TOTAL. Thanks
// #region Model Parameters
constexpr int MAX_EDGE = 5500;
constexpr int MAX_NODE = 2800;
constexpr int ND_FEATURE = 1500;
constexpr int ND_FEATURE_TOTAL = 1500;
constexpr int EDGE_ATTR = 0;
constexpr int ED_FEATURE_PER_LAYER = 0;
constexpr int EMB_DIM = 16;
constexpr int NUM_LAYERS = 2;
constexpr int NUM_TASK = 1;
// #endregion
Great work by the way :)
When trying to generate the xclbin targeting at hw for borad 'xilinx_u50_gen3x16_xdma_5_202210_1', there is an error when routing.
"ERROR: [Constraints 18-1000] Routing results verification failed due to partially-conflicted nets (Up to first 10 of violated nets): level0_i/ulp/GIN_compute_graphs_1/inst/grp_compute_CONV_layer_fu_5109/check_message_passing_U0/grp_finalize_fu_604/global_mean_pooling_U0/grp_global_mean_pooling_Pipeline_global_mean_pooling_tail_fu_475/sdiv_17s_32ns_16_21_1_U8048/dividend_u[8] level0_i/ulp/GIN_compute_graphs_1/inst/grp_compute_CONV_layer_fu_5109/check_message_passing_U0/grp_finalize_fu_604/global_mean_pooling_U0/grp_global_mean_pooling_Pipeline_global_mean_pooling_tail_fu_475/sdiv_17s_32ns_16_21_1_U8048/dividend_u[13] level0_i/ulp/GIN_compute_graphs_1/inst/grp_compute_CONV_layer_fu_5109/check_message_passing_U0/grp_finalize_fu_604/global_mean_pooling_U0/grp_global_mean_pooling_Pipeline_global_mean_pooling_tail_fu_475/sdiv_17s_32ns_16_21_1_U8048/dividend_u[10] level0_i/ulp/GIN_compute_graphs_1/inst/grp_compute_CONV_layer_fu_5109/check_message_passing_U0/grp_finalize_fu_604/global_mean_pooling_U0/grp_global_mean_pooling_Pipeline_global_mean_pooling_tail_fu_475/sdiv_17s_32ns_16_21_1_U8048/dividend_u[12] level0_i/ulp/GIN_compute_graphs_1/inst/grp_compute_CONV_layer_fu_5109/check_message_passing_U0/grp_finalize_fu_604/global_mean_pooling_U0/grp_global_mean_pooling_Pipeline_global_mean_pooling_tail_fu_475/sdiv_17s_32ns_16_21_1_U8048/dividend_u[14] level0_i/ulp/GIN_compute_graphs_1/inst/grp_compute_CONV_layer_fu_5109/check_message_passing_U0/grp_finalize_fu_604/global_mean_pooling_U0/grp_global_mean_pooling_Pipeline_global_mean_pooling_tail_fu_475/sdiv_17s_32ns_16_21_1_U8048/dividend_u0[1] level0_i/ulp/GIN_compute_graphs_1/inst/grp_compute_CONV_layer_fu_5109/check_message_passing_U0/grp_finalize_fu_604/global_mean_pooling_U0/grp_global_mean_pooling_Pipeline_global_mean_pooling_tail_fu_475/sdiv_17s_32ns_16_21_1_U8048/dividend_u0[3] level0_i/ulp/GIN_compute_graphs_1/inst/grp_compute_CONV_layer_fu_5109/check_message_passing_U0/grp_finalize_fu_604/global_mean_pooling_U0/grp_global_mean_pooling_Pipeline_global_mean_pooling_tail_fu_475/sdiv_17s_32ns_16_21_1_U8048/dividend_u0[6] level0_i/ulp/GIN_compute_graphs_1/inst/grp_compute_CONV_layer_fu_5109/check_message_passing_U0/grp_finalize_fu_604/global_mean_pooling_U0/grp_global_mean_pooling_Pipeline_global_mean_pooling_tail_fu_475/sdiv_17s_32ns_16_21_1_U8048/dividend_u0[10] level0_i/ulp/GIN_compute_graphs_1/inst/grp_compute_CONV_layer_fu_5109/check_message_passing_U0/grp_finalize_fu_604/global_mean_pooling_U0/grp_global_mean_pooling_Pipeline_global_mean_pooling_tail_fu_475/sdiv_17s_32ns_16_21_1_U8048/dividend_u0[9]
"
It seems that it is a problem caused by congestion, Could you kindly tell me how to solve this problem? The original log file is attached.
runme.log
vivado.log
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.