summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/icnt_wrapper.cc
diff options
context:
space:
mode:
authorNick <[email protected]>2019-09-13 07:48:08 -0400
committerNick <[email protected]>2019-09-13 07:48:08 -0400
commit9b1e6dba9f721c772e801abc4851a88aa61929da (patch)
treeed12425be898e85e01e7a3997a9b8d5efba6ef50 /src/gpgpu-sim/icnt_wrapper.cc
parent5c99f0fa58caf45f4d457894413aa11c03afdb7d (diff)
Revert "Add src/gpgpu-sim formatting"
This reverts commit 9c9b1341613e767f306b2b73b5b8a5317b6ee563.
Diffstat (limited to 'src/gpgpu-sim/icnt_wrapper.cc')
-rw-r--r--src/gpgpu-sim/icnt_wrapper.cc247
1 files changed, 139 insertions, 108 deletions
diff --git a/src/gpgpu-sim/icnt_wrapper.cc b/src/gpgpu-sim/icnt_wrapper.cc
index bb44d4d..67724d0 100644
--- a/src/gpgpu-sim/icnt_wrapper.cc
+++ b/src/gpgpu-sim/icnt_wrapper.cc
@@ -7,16 +7,14 @@
//
// Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
-// Redistributions in binary form must reproduce the above copyright notice,
-// this
+// Redistributions in binary form must reproduce the above copyright notice, this
// list of conditions and the following disclaimer in the documentation and/or
// other materials provided with the distribution.
// Neither the name of The University of British Columbia nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-// AND
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
@@ -33,163 +31,196 @@
#include "../intersim2/interconnect_interface.hpp"
#include "local_interconnect.h"
-icnt_create_p icnt_create;
-icnt_init_p icnt_init;
-icnt_has_buffer_p icnt_has_buffer;
-icnt_push_p icnt_push;
-icnt_pop_p icnt_pop;
-icnt_transfer_p icnt_transfer;
-icnt_busy_p icnt_busy;
-icnt_display_stats_p icnt_display_stats;
+
+icnt_create_p icnt_create;
+icnt_init_p icnt_init;
+icnt_has_buffer_p icnt_has_buffer;
+icnt_push_p icnt_push;
+icnt_pop_p icnt_pop;
+icnt_transfer_p icnt_transfer;
+icnt_busy_p icnt_busy;
+icnt_display_stats_p icnt_display_stats;
icnt_display_overall_stats_p icnt_display_overall_stats;
-icnt_display_state_p icnt_display_state;
-icnt_get_flit_size_p icnt_get_flit_size;
+icnt_display_state_p icnt_display_state;
+icnt_get_flit_size_p icnt_get_flit_size;
-unsigned g_network_mode;
+unsigned g_network_mode;
char* g_network_config_filename;
+
struct inct_config g_inct_config;
-LocalInterconnect* g_localicnt_interface;
+LocalInterconnect *g_localicnt_interface;
#include "../option_parser.h"
// Wrapper to intersim2 to accompany old icnt_wrapper
// TODO: use delegate/boost/c++11<funtion> instead
-static void intersim2_create(unsigned int n_shader, unsigned int n_mem) {
- g_icnt_interface->CreateInterconnect(n_shader, n_mem);
+static void intersim2_create(unsigned int n_shader, unsigned int n_mem)
+{
+ g_icnt_interface->CreateInterconnect(n_shader, n_mem);
}
-static void intersim2_init() { g_icnt_interface->Init(); }
+static void intersim2_init()
+{
+ g_icnt_interface->Init();
+}
-static bool intersim2_has_buffer(unsigned input, unsigned int size) {
- return g_icnt_interface->HasBuffer(input, size);
+static bool intersim2_has_buffer(unsigned input, unsigned int size)
+{
+ return g_icnt_interface->HasBuffer(input, size);
}
-static void intersim2_push(unsigned input, unsigned output, void* data,
- unsigned int size) {
- g_icnt_interface->Push(input, output, data, size);
+static void intersim2_push(unsigned input, unsigned output, void* data, unsigned int size)
+{
+ g_icnt_interface->Push(input, output, data, size);
}
-static void* intersim2_pop(unsigned output) {
- return g_icnt_interface->Pop(output);
+static void* intersim2_pop(unsigned output)
+{
+ return g_icnt_interface->Pop(output);
}
-static void intersim2_transfer() { g_icnt_interface->Advance(); }
+static void intersim2_transfer()
+{
+ g_icnt_interface->Advance();
+}
-static bool intersim2_busy() { return g_icnt_interface->Busy(); }
+static bool intersim2_busy()
+{
+ return g_icnt_interface->Busy();
+}
-static void intersim2_display_stats() { g_icnt_interface->DisplayStats(); }
+static void intersim2_display_stats()
+{
+ g_icnt_interface->DisplayStats();
+}
-static void intersim2_display_overall_stats() {
- g_icnt_interface->DisplayOverallStats();
+static void intersim2_display_overall_stats()
+{
+ g_icnt_interface->DisplayOverallStats();
}
-static void intersim2_display_state(FILE* fp) {
- g_icnt_interface->DisplayState(fp);
+static void intersim2_display_state(FILE *fp)
+{
+ g_icnt_interface->DisplayState(fp);
}
-static unsigned intersim2_get_flit_size() {
- return g_icnt_interface->GetFlitSize();
+static unsigned intersim2_get_flit_size()
+{
+ return g_icnt_interface->GetFlitSize();
}
+
//////////////////////////////////////////////////////
-static void LocalInterconnect_create(unsigned int n_shader,
- unsigned int n_mem) {
- g_localicnt_interface->CreateInterconnect(n_shader, n_mem);
+static void LocalInterconnect_create(unsigned int n_shader, unsigned int n_mem)
+{
+ g_localicnt_interface->CreateInterconnect(n_shader, n_mem);
}
-static void LocalInterconnect_init() { g_localicnt_interface->Init(); }
+static void LocalInterconnect_init()
+{
+ g_localicnt_interface->Init();
+}
-static bool LocalInterconnect_has_buffer(unsigned input, unsigned int size) {
- return g_localicnt_interface->HasBuffer(input, size);
+static bool LocalInterconnect_has_buffer(unsigned input, unsigned int size)
+{
+ return g_localicnt_interface->HasBuffer(input, size);
}
-static void LocalInterconnect_push(unsigned input, unsigned output, void* data,
- unsigned int size) {
- g_localicnt_interface->Push(input, output, data, size);
+static void LocalInterconnect_push(unsigned input, unsigned output, void* data, unsigned int size)
+{
+ g_localicnt_interface->Push(input, output, data, size);
}
-static void* LocalInterconnect_pop(unsigned output) {
- return g_localicnt_interface->Pop(output);
+static void* LocalInterconnect_pop(unsigned output)
+{
+ return g_localicnt_interface->Pop(output);
}
-static void LocalInterconnect_transfer() { g_localicnt_interface->Advance(); }
+static void LocalInterconnect_transfer()
+{
+ g_localicnt_interface->Advance();
+}
-static bool LocalInterconnect_busy() { return g_localicnt_interface->Busy(); }
+static bool LocalInterconnect_busy()
+{
+ return g_localicnt_interface->Busy();
+}
-static void LocalInterconnect_display_stats() {
- g_localicnt_interface->DisplayStats();
+static void LocalInterconnect_display_stats()
+{
+ g_localicnt_interface->DisplayStats();
}
-static void LocalInterconnect_display_overall_stats() {
- g_localicnt_interface->DisplayOverallStats();
+static void LocalInterconnect_display_overall_stats()
+{
+ g_localicnt_interface->DisplayOverallStats();
}
-static void LocalInterconnect_display_state(FILE* fp) {
- g_localicnt_interface->DisplayState(fp);
+static void LocalInterconnect_display_state(FILE *fp)
+{
+ g_localicnt_interface->DisplayState(fp);
}
-static unsigned LocalInterconnect_get_flit_size() {
- return g_localicnt_interface->GetFlitSize();
+static unsigned LocalInterconnect_get_flit_size()
+{
+ return g_localicnt_interface->GetFlitSize();
}
+
///////////////////////////
-void icnt_reg_options(class OptionParser* opp) {
- option_parser_register(opp, "-network_mode", OPT_INT32, &g_network_mode,
- "Interconnection network mode", "1");
- option_parser_register(opp, "-inter_config_file", OPT_CSTR,
- &g_network_config_filename,
- "Interconnection network config file", "mesh");
+void icnt_reg_options( class OptionParser * opp )
+{
+ option_parser_register(opp, "-network_mode", OPT_INT32, &g_network_mode, "Interconnection network mode", "1");
+ option_parser_register(opp, "-inter_config_file", OPT_CSTR, &g_network_config_filename, "Interconnection network config file", "mesh");
+
+
+ //parameters for local xbar
+ option_parser_register(opp, "-inct_in_buffer_limit", OPT_UINT32, &g_inct_config.in_buffer_limit, "in_buffer_limit", "64");
+ option_parser_register(opp, "-inct_out_buffer_limit", OPT_UINT32, &g_inct_config.out_buffer_limit, "out_buffer_limit", "64");
+ option_parser_register(opp, "-inct_subnets", OPT_UINT32, &g_inct_config.subnets, "subnets", "2");
+ option_parser_register(opp, "-arbiter_algo", OPT_UINT32, &g_inct_config.arbiter_algo, "arbiter_algo", "1");
+
- // parameters for local xbar
- option_parser_register(opp, "-inct_in_buffer_limit", OPT_UINT32,
- &g_inct_config.in_buffer_limit, "in_buffer_limit",
- "64");
- option_parser_register(opp, "-inct_out_buffer_limit", OPT_UINT32,
- &g_inct_config.out_buffer_limit, "out_buffer_limit",
- "64");
- option_parser_register(opp, "-inct_subnets", OPT_UINT32,
- &g_inct_config.subnets, "subnets", "2");
- option_parser_register(opp, "-arbiter_algo", OPT_UINT32,
- &g_inct_config.arbiter_algo, "arbiter_algo", "1");
}
-void icnt_wrapper_init() {
- switch (g_network_mode) {
- case INTERSIM:
- // FIXME: delete the object: may add icnt_done wrapper
- g_icnt_interface = InterconnectInterface::New(g_network_config_filename);
- icnt_create = intersim2_create;
- icnt_init = intersim2_init;
- icnt_has_buffer = intersim2_has_buffer;
- icnt_push = intersim2_push;
- icnt_pop = intersim2_pop;
- icnt_transfer = intersim2_transfer;
- icnt_busy = intersim2_busy;
- icnt_display_stats = intersim2_display_stats;
- icnt_display_overall_stats = intersim2_display_overall_stats;
- icnt_display_state = intersim2_display_state;
- icnt_get_flit_size = intersim2_get_flit_size;
- break;
- case LOCAL_XBAR:
- g_localicnt_interface = LocalInterconnect::New(g_inct_config);
- icnt_create = LocalInterconnect_create;
- icnt_init = LocalInterconnect_init;
- icnt_has_buffer = LocalInterconnect_has_buffer;
- icnt_push = LocalInterconnect_push;
- icnt_pop = LocalInterconnect_pop;
- icnt_transfer = LocalInterconnect_transfer;
- icnt_busy = LocalInterconnect_busy;
- icnt_display_stats = LocalInterconnect_display_stats;
- icnt_display_overall_stats = LocalInterconnect_display_overall_stats;
- icnt_display_state = LocalInterconnect_display_state;
- icnt_get_flit_size = LocalInterconnect_get_flit_size;
- break;
- default:
- assert(0);
- break;
- }
+void icnt_wrapper_init()
+{
+ switch (g_network_mode) {
+ case INTERSIM:
+ //FIXME: delete the object: may add icnt_done wrapper
+ g_icnt_interface = InterconnectInterface::New(g_network_config_filename);
+ icnt_create = intersim2_create;
+ icnt_init = intersim2_init;
+ icnt_has_buffer = intersim2_has_buffer;
+ icnt_push = intersim2_push;
+ icnt_pop = intersim2_pop;
+ icnt_transfer = intersim2_transfer;
+ icnt_busy = intersim2_busy;
+ icnt_display_stats = intersim2_display_stats;
+ icnt_display_overall_stats = intersim2_display_overall_stats;
+ icnt_display_state = intersim2_display_state;
+ icnt_get_flit_size = intersim2_get_flit_size;
+ break;
+ case LOCAL_XBAR:
+ g_localicnt_interface = LocalInterconnect::New(g_inct_config);
+ icnt_create = LocalInterconnect_create;
+ icnt_init = LocalInterconnect_init;
+ icnt_has_buffer = LocalInterconnect_has_buffer;
+ icnt_push = LocalInterconnect_push;
+ icnt_pop = LocalInterconnect_pop;
+ icnt_transfer = LocalInterconnect_transfer;
+ icnt_busy = LocalInterconnect_busy;
+ icnt_display_stats = LocalInterconnect_display_stats;
+ icnt_display_overall_stats = LocalInterconnect_display_overall_stats;
+ icnt_display_state = LocalInterconnect_display_state;
+ icnt_get_flit_size = LocalInterconnect_get_flit_size;
+ break;
+ default:
+ assert(0);
+ break;
+ }
}