summaryrefslogtreecommitdiff
path: root/src/intersim/interconnect_interface.h
diff options
context:
space:
mode:
authorTor Aamodt <[email protected]>2010-07-15 18:09:46 -0800
committerTor Aamodt <[email protected]>2010-07-15 18:09:46 -0800
commit69f2911e04ffb1b19eef1fafb8c040af271f656e (patch)
tree231d3b6bdc3a202f7c255bfcf7bf2c36e32cee9e /src/intersim/interconnect_interface.h
creating branch for adding support for CUDA 3.x and Fermi
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6829]
Diffstat (limited to 'src/intersim/interconnect_interface.h')
-rw-r--r--src/intersim/interconnect_interface.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/intersim/interconnect_interface.h b/src/intersim/interconnect_interface.h
new file mode 100644
index 0000000..541f992
--- /dev/null
+++ b/src/intersim/interconnect_interface.h
@@ -0,0 +1,35 @@
+#ifndef INTERCONNECT_INTERFACE_H
+#define INTERCONNECT_INTERFACE_H
+
+#include "flit.hpp"
+#include "trafficmanager.hpp"
+
+struct glue_buf {
+ int flit_c; // flit count
+ void *data;
+ int net_num; // which network is this flit in (we might have several icnt networks)
+ int src;
+ int dest;
+};
+
+//node side functions
+int interconnect_has_buffer(unsigned int input, unsigned int *size);
+void interconnect_push ( unsigned int input, unsigned int output,
+ void* data, unsigned int size);
+void* interconnect_pop(unsigned int output);
+void init_interconnect (char* config_file,
+ unsigned int n_shader, unsigned int n_mem);
+void advance_interconnect();
+unsigned interconnect_busy();
+void interconnect_stats() ;
+
+//interconnect side functions
+void create_buf(int src_n,int warp_n, int vc_n);
+int in_map (int input) ;
+void write_out_buf(int output, Flit * data);
+void transfer2boundary_buf(int output);
+void time_vector_update_icnt_injected(void* mf, int input);
+
+#endif
+
+