aboutsummaryrefslogtreecommitdiff
path: root/src/intersim2/.svn/pristine/3b
diff options
context:
space:
mode:
Diffstat (limited to 'src/intersim2/.svn/pristine/3b')
-rw-r--r--src/intersim2/.svn/pristine/3b/3bdd451bbcde75941cf7ad8caf63c4465c856102.svn-base187
-rw-r--r--src/intersim2/.svn/pristine/3b/3bebc9fde5e475aaa53b6d4abda241d37117421b.svn-base67
2 files changed, 0 insertions, 254 deletions
diff --git a/src/intersim2/.svn/pristine/3b/3bdd451bbcde75941cf7ad8caf63c4465c856102.svn-base b/src/intersim2/.svn/pristine/3b/3bdd451bbcde75941cf7ad8caf63c4465c856102.svn-base
deleted file mode 100644
index e587a7f..0000000
--- a/src/intersim2/.svn/pristine/3b/3bdd451bbcde75941cf7ad8caf63c4465c856102.svn-base
+++ /dev/null
@@ -1,187 +0,0 @@
-// $Id$
-
-/*
- Copyright (c) 2007-2012, Trustees of The Leland Stanford Junior University
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 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
- list of conditions and the following disclaimer in the documentation and/or
- other materials provided with the distribution.
-
- 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 OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-/*main.cpp
- *
- *The starting point of the network simulator
- *-Include all network header files
- *-initilize the network
- *-initialize the traffic manager and set it to run
- *
- *
- */
-#include <sys/time.h>
-
-#include <string>
-#include <cstdlib>
-#include <iostream>
-#include <fstream>
-
-
-
-#include <sstream>
-#include "booksim.hpp"
-#include "routefunc.hpp"
-#include "traffic.hpp"
-#include "booksim_config.hpp"
-#include "trafficmanager.hpp"
-#include "random_utils.hpp"
-#include "network.hpp"
-#include "injection.hpp"
-#include "power_module.hpp"
-
-
-
-///////////////////////////////////////////////////////////////////////////////
-//Global declarations
-//////////////////////
-
- /* the current traffic manager instance */
-TrafficManager * trafficManager = NULL;
-
-int GetSimTime() {
- return trafficManager->getTime();
-}
-
-class Stats;
-Stats * GetStats(const std::string & name) {
- Stats* test = trafficManager->getStats(name);
- if(test == 0){
- cout<<"warning statistics "<<name<<" not found"<<endl;
- }
- return test;
-}
-
-/* printing activity factor*/
-bool gPrintActivity;
-
-int gK;//radix
-int gN;//dimension
-int gC;//concentration
-
-int gNodes;
-
-//generate nocviewer trace
-bool gTrace;
-
-ostream * gWatchOut;
-
-
-
-/////////////////////////////////////////////////////////////////////////////
-
-bool Simulate( BookSimConfig const & config )
-{
- vector<Network *> net;
-
- int subnets = config.GetInt("subnets");
- /*To include a new network, must register the network here
- *add an else if statement with the name of the network
- */
- net.resize(subnets);
- for (int i = 0; i < subnets; ++i) {
- ostringstream name;
- name << "network_" << i;
- net[i] = Network::New( config, name.str() );
- }
-
- /*tcc and characterize are legacy
- *not sure how to use them
- */
-
- assert(trafficManager == NULL);
- trafficManager = TrafficManager::New( config, net ) ;
-
- /*Start the simulation run
- */
-
- double total_time; /* Amount of time we've run */
- struct timeval start_time, end_time; /* Time before/after user code */
- total_time = 0.0;
- gettimeofday(&start_time, NULL);
-
- bool result = trafficManager->Run() ;
-
-
- gettimeofday(&end_time, NULL);
- total_time = ((double)(end_time.tv_sec) + (double)(end_time.tv_usec)/1000000.0)
- - ((double)(start_time.tv_sec) + (double)(start_time.tv_usec)/1000000.0);
-
- cout<<"Total run time "<<total_time<<endl;
-
- for (int i=0; i<subnets; ++i) {
-
- ///Power analysis
- if(config.GetInt("sim_power") > 0){
- Power_Module pnet(net[i], config);
- pnet.run();
- }
-
- delete net[i];
- }
-
- delete trafficManager;
- trafficManager = NULL;
-
- return result;
-}
-
-
-int main( int argc, char **argv )
-{
-
- BookSimConfig config;
-
-
- if ( !ParseArgs( &config, argc, argv ) ) {
- cerr << "Usage: " << argv[0] << " configfile... [param=value...]" << endl;
- return 0;
- }
-
-
- /*initialize routing, traffic, injection functions
- */
- InitializeRoutingMap( config );
-
- gPrintActivity = (config.GetInt("print_activity") > 0);
- gTrace = (config.GetInt("viewer_trace") > 0);
-
- string watch_out_file = config.GetStr( "watch_out" );
- if(watch_out_file == "") {
- gWatchOut = NULL;
- } else if(watch_out_file == "-") {
- gWatchOut = &cout;
- } else {
- gWatchOut = new ofstream(watch_out_file.c_str());
- }
-
-
- /*configure and run the simulator
- */
- bool result = Simulate( config );
- return result ? -1 : 0;
-}
diff --git a/src/intersim2/.svn/pristine/3b/3bebc9fde5e475aaa53b6d4abda241d37117421b.svn-base b/src/intersim2/.svn/pristine/3b/3bebc9fde5e475aaa53b6d4abda241d37117421b.svn-base
deleted file mode 100644
index 2e20502..0000000
--- a/src/intersim2/.svn/pristine/3b/3bebc9fde5e475aaa53b6d4abda241d37117421b.svn-base
+++ /dev/null
@@ -1,67 +0,0 @@
-// $Id$
-
-/*
- Copyright (c) 2007-2012, Trustees of The Leland Stanford Junior University
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 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
- list of conditions and the following disclaimer in the documentation and/or
- other materials provided with the distribution.
-
- 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 OWNER OR CONTRIBUTORS BE LIABLE FOR
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-
-#include "switch_monitor.hpp"
-
-#include "flit.hpp"
-
-SwitchMonitor::SwitchMonitor( int inputs, int outputs, int classes )
-: _cycles(0), _inputs(inputs), _outputs(outputs), _classes(classes) {
- _event.resize(inputs * outputs * classes, 0) ;
-}
-
-int SwitchMonitor::index( int input, int output, int cl ) const {
- assert((input >= 0) && (input < _inputs));
- assert((output >= 0) && (output < _outputs));
- assert((cl >= 0) && (cl < _classes));
- return cl + _classes * ( output + _outputs * input ) ;
-}
-
-void SwitchMonitor::cycle() {
- _cycles++ ;
-}
-
-void SwitchMonitor::traversal( int input, int output, Flit const * f ) {
- _event[ index( input, output, f->cl) ]++ ;
-}
-
-void SwitchMonitor::display(ostream & os) const {
- for ( int i = 0 ; i < _inputs ; i++ ) {
- for ( int o = 0 ; o < _outputs ; o++) {
- os << "[" << i << " -> " << o << "] " ;
- for ( int c = 0 ; c < _classes ; c++ ) {
- os << c << ":" << _event[index(i,o,c)] << " " ;
- }
- os << endl ;
- }
- }
-}
-
-ostream & operator<<( ostream & os, SwitchMonitor const & obj ) {
- obj.display(os);
- return os ;
-}