Commit 4d25ba0e authored by Caitlin Ross's avatar Caitlin Ross
Browse files

merged master

parents 77e85ef9 9246469e
......@@ -3,8 +3,10 @@ Nikhil Jain, Abhinav Bhatele (LLNL)
- Addition of direct scheme for setting up dragonfly network topology.
- Network configuration setup for custom dragonfly model.
- Topology generations scripts for custom dragonfly model.
- Bug fix for virtual channel deadlocks in custom dragonfly model.
- Bug reporter for CODES network models.
- Fat tree network setup and adaptive routing.
- Pending: Merging Express mesh model to master.
Jens Domke (U. of Dresden)
- Static routing in fat tree network model.
......
......@@ -72,6 +72,7 @@ struct dumpi_trace_params {
#ifdef ENABLE_CORTEX_PYTHON
char cortex_script[MAX_NAME_LENGTH_WKLD];
char cortex_class[MAX_NAME_LENGTH_WKLD];
char cortex_gen[MAX_NAME_LENGTH_WKLD];
#endif
};
......
......@@ -22,6 +22,7 @@ extern "C" {
#include "model-net.h"
#include "model-net-sched.h"
#include "net/dragonfly.h"
#include "net/dragonfly-custom.h"
#include "net/slimfly.h"
#include "net/fattree.h"
#include "net/loggp.h"
......@@ -124,6 +125,7 @@ typedef struct model_net_wrap_msg {
union {
model_net_base_msg m_base; // base lp
terminal_message m_dfly; // dragonfly
terminal_custom_message m_custom_dfly; // dragonfly-custom
slim_terminal_message m_slim; // slimfly
fattree_message m_fat; // fattree
loggp_message m_loggp; // loggp
......
......@@ -140,7 +140,7 @@ AC_ARG_WITH([boost],[AS_HELP_STRING([--with-boost@<:@=DIR@:>@],
[location of Boost Python installation])])
if [ test "x${with_python}" != "x" -a "x${with_boost}" != "x"] ; then
AC_CHECK_FILES([${with_python}/lib/libpython2.7.a ${with_boost}/lib/libboost_python.a],
AC_CHECK_FILES([${with_python}/lib/libpython2.7.so ${with_boost}/lib/libboost_python.a],
AM_CONDITIONAL(USE_PYTHON, true),
AC_MSG_ERROR(Could not find Python and/or Boost-Python libraries))
PYTHON_CFLAGS="-I${with_python}/include -I${with_boost}/include"
......
......@@ -29,12 +29,15 @@ int main(int argc, char **argv) {
int r = atoi(argv[2]);
int c = atoi(argv[3]);
int total_routers = g * r * c;
FILE *intra = fopen(argv[4], "wb");
FILE *inter = fopen(argv[5], "wb");
int router = 0;
int green = 0, black = 1;
int groups = 0;
printf("\n Rows %d Cols %d Groups %d ", r, c, g);
for(int rows = 0; rows < r; rows++) {
for(int cols = 0; cols < c; cols++) {
for(int cols1 = 0; cols1 < c; cols1++) {
......@@ -71,7 +74,7 @@ int main(int argc, char **argv) {
} else {
ndstg--;
}
int gsize = 2, gs = 16;
int gsize = 2, gs = c;
for(int row = 0; row < r; row++) {
int srcrB = srcg * r * c + row * c, srcr;
int dstrB = dstg * r * c + row * c, dstr;
......@@ -79,11 +82,15 @@ int main(int argc, char **argv) {
int dstB = (nsrcg % (gs/2)) * 2;
srcr = srcrB + srcB;
dstr = dstrB + dstB;
if(srcr >= total_routers || dstr >= total_routers)
printf("\n connection between invalid routers src %d and dest %d ", srcr, dstr);
for(int r = 0; r < 2; r++) {
for(int block = 0; block < gsize; block++) {
fwrite(&srcr, sizeof(int), 1, inter);
fwrite(&dstr, sizeof(int), 1, inter);
printf("INTER %d %d\n", srcr, dstr);
printf("INTER %d %d srcg %d destg %d srcrb %d dstrB %d \n", srcr, dstr, srcg, dstg, srcrB, dstrB);
}
srcr++;
dstr++;
......
//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2014, Lawrence Livermore National Security, LLC.
// Produced at the Lawrence Livermore National Laboratory.
//
// Written by:
// Nikhil Jain <nikhil.jain@acm.org>
// Abhinav Bhatele <bhatele@llnl.gov>
// Peer-Timo Bremer <ptbremer@llnl.gov>
//
// LLNL-CODE-678961. All rights reserved.
//
// This file is part of Damselfly. For details, see:
// https://github.com/scalability-llnl/damselfly
// Please also read the LICENSE file for our notice and the LGPL.
//////////////////////////////////////////////////////////////////////////////
#include "stdio.h"
#include "stdlib.h"
//Usage ./binary num_groups num_rows num_columns intra_file inter_file
int main(int argc, char **argv) {
if(argc < 3) {
printf("Correct usage: %s <num_group> <num_rows> <num_cols> <cons_across_groups> <cons_in_row> <cons_in_col> <intra_file> <inter_file>", argv[0]);
exit(0);
}
int g = atoi(argv[1]);
int r = atoi(argv[2]);
int c = atoi(argv[3]);
int g_p = atoi(argv[4]);
int r_p = atoi(argv[5]);
int c_p = atoi(argv[6]);
int total_routers = g * r * c;
int routers_per_g = r * c;
FILE *intra = fopen(argv[7], "wb");
FILE *inter = fopen(argv[8], "wb");
int router = 0;
int green = 0, black = 1;
int groups = 0;
for(int rows = 0; rows < r; rows++) {
for(int cols = 0; cols < c; cols++) {
for(int cols1 = 0; cols1 < c; cols1++) {
if(cols1 != cols) {
int dest = (rows * c) + cols1;
for(int link = 0; link < c_p; link++) {
fwrite(&router, sizeof(int), 1, intra);
fwrite(&dest, sizeof(int), 1, intra);
fwrite(&green, sizeof(int), 1, intra);
printf("INTRA %d %d %d\n", router, dest, green);
}
}
}
for(int rows1 = 0; rows1 < r; rows1++) {
if(rows1 != rows) {
int dest = (rows1 * c) + cols;
for(int link = 0; link < r_p; link++) {
fwrite(&router, sizeof(int), 1, intra);
fwrite(&dest, sizeof(int), 1, intra);
fwrite(&black, sizeof(int), 1, intra);
printf("INTRA %d %d %d\n", router, dest, black);
}
}
}
router++;
}
}
for(int srcg = 0; srcg < g; srcg++) {
for(int dstg = 0; dstg < g; dstg++) {
if(srcg != dstg) {
int nsrcg = srcg;
int ndstg = dstg;
if(srcg > dstg) {
nsrcg--;
} else {
ndstg--;
}
int startSrc = ndstg * g_p;
int startDst = nsrcg * g_p;
for(int link = 0; link < g_p; link++) {
int srcrB = srcg * routers_per_g, srcr;
int dstrB = dstg * routers_per_g, dstr;
srcr = srcrB + (startSrc + link) % routers_per_g;
dstr = dstrB + (startDst + link) % routers_per_g;
if(srcr >= total_routers || dstr >= total_routers)
printf("\n connection between invalid routers src %d and dest %d ", srcr, dstr);
fwrite(&srcr, sizeof(int), 1, inter);
fwrite(&dstr, sizeof(int), 1, inter);
printf("INTER %d %d srcg %d destg %d\n", srcr, dstr, srcg, dstg);
}
}
}
}
fclose(intra);
fclose(inter);
}
......@@ -49,9 +49,9 @@ PARAMS
# number of global channels per router
num_global_channels="10";
# network config file for intra-group connections
intra-group-connections="@abs_srcdir@/intra-custom-small";
intra-group-connections="@abs_srcdir@/intra-theta";
# network config file for inter-group connections
inter-group-connections="@abs_srcdir@/inter-custom-small";
inter-group-connections="@abs_srcdir@/inter-theta";
# routing protocol to be used
routing="prog-adaptive";
}
......@@ -2,11 +2,11 @@ LPGROUPS
{
MODELNET_GRP
{
repetitions="1600";
repetitions="1520";
# name of this lp changes according to the model
nw-lp="4";
nw-lp="8";
# these lp names will be the same for dragonfly-custom model
modelnet_dragonfly_custom="4";
modelnet_dragonfly_custom="8";
modelnet_dragonfly_custom_router="1";
}
}
......@@ -24,11 +24,11 @@ PARAMS
# number of routers within each group
# this is dictated by the dragonfly configuration files
# intra-group rows for routers
num_router_rows="4";
num_router_rows="1";
# intra-group columns for routers
num_router_cols="20";
num_router_cols="40";
# number of groups in the network
num_groups="20";
num_groups="38";
# buffer size in bytes for local virtual channels
local_vc_size="8192";
#buffer size in bytes for global virtual channels
......@@ -38,20 +38,24 @@ PARAMS
#bandwidth in GiB/s for local channels
local_bandwidth="5.25";
# bandwidth in GiB/s for global channels
global_bandwidth="18.75";
global_bandwidth="4.69";
# bandwidth in GiB/s for compute node-router channels
cn_bandwidth="8.0";
# Number of row channels
num_row_chans="2";
# Number of column channels
num_col_chans="1";
# ROSS message size
message_size="592";
# number of compute nodes connected to router, dictated by dragonfly config
# file
num_cns_per_router="4";
num_cns_per_router="8";
# number of global channels per router
num_global_channels="10";
num_global_channels="4";
# network config file for intra-group connections
intra-group-connections="../src/network-workloads/conf/dragonfly-custom/intra-custom";
intra-group-connections="/Users/mmubarak/Documents/software_development/codes/scripts/gen-cray-topo/intratest";
# network config file for inter-group connections
inter-group-connections="../src/network-workloads/conf/dragonfly-custom/inter-custom";
inter-group-connections="/Users/mmubarak/Documents/software_development/codes/scripts/gen-cray-topo/intertest";
# routing protocol to be used
routing="prog-adaptive";
}
......@@ -37,7 +37,7 @@ PARAMS
#bandwidth in GiB/s for local channels
local_bandwidth="5.25";
# bandwidth in GiB/s for global channels
global_bandwidth="18.75";
global_bandwidth="4.69";
# bandwidth in GiB/s for compute node-router channels
cn_bandwidth="16.0";
# ROSS message size
......@@ -46,7 +46,7 @@ PARAMS
# file
num_cns_per_router="4";
# number of global channels per router
num_global_channels="10";
num_global_channels="4";
# network config file for intra-group connections
intra-group-connections="../src/network-workloads/conf/dragonfly-custom/intra-theta";
# network config file for inter-group connections
......
......@@ -35,8 +35,8 @@ static lp_io_handle io_handle;
static unsigned int lp_io_use_suffix = 0;
static int do_lp_io = 0;
static int num_msgs = 20;
static unsigned int sampling_interval = 800000;
static unsigned int sampling_end_time = 1600000;
static tw_stime sampling_interval = 800000;
static tw_stime sampling_end_time = 1600000;
typedef struct svr_msg svr_msg;
typedef struct svr_state svr_state;
......@@ -111,8 +111,8 @@ const tw_optdef app_opt [] =
TWOPT_GROUP("Model net synthetic traffic " ),
TWOPT_UINT("traffic", traffic, "UNIFORM RANDOM=1, NEAREST NEIGHBOR=2 "),
TWOPT_UINT("num_messages", num_msgs, "Number of messages to be generated per terminal "),
TWOPT_UINT("sampling-interval", sampling_interval, "the sampling interval "),
TWOPT_UINT("sampling-end-time", sampling_end_time, "sampling end time "),
TWOPT_STIME("sampling-interval", sampling_interval, "the sampling interval "),
TWOPT_STIME("sampling-end-time", sampling_end_time, "sampling end time "),
TWOPT_STIME("arrival_time", arrival_time, "INTER-ARRIVAL TIME"),
TWOPT_CHAR("lp-io-dir", lp_io_dir, "Where to place io output (unspecified -> no output"),
TWOPT_UINT("lp-io-use-suffix", lp_io_use_suffix, "Whether to append uniq suffix to lp-io directory (default 0)"),
......
......@@ -35,8 +35,8 @@ static lp_io_handle io_handle;
static unsigned int lp_io_use_suffix = 0;
static int do_lp_io = 0;
static int num_msgs = 20;
static unsigned int sampling_interval = 800000;
static unsigned int sampling_end_time = 1600000;
static tw_stime sampling_interval = 800000;
static tw_stime sampling_end_time = 1600000;
typedef struct svr_msg svr_msg;
typedef struct svr_state svr_state;
......@@ -146,8 +146,8 @@ const tw_optdef app_opt [] =
TWOPT_GROUP("Model net synthetic traffic " ),
TWOPT_UINT("traffic", traffic, "UNIFORM RANDOM=1, NEAREST NEIGHBOR=2 "),
TWOPT_UINT("num_messages", num_msgs, "Number of messages to be generated per terminal "),
TWOPT_UINT("sampling-interval", sampling_interval, "the sampling interval "),
TWOPT_UINT("sampling-end-time", sampling_end_time, "sampling end time "),
TWOPT_STIME("sampling-interval", sampling_interval, "the sampling interval "),
TWOPT_STIME("sampling-end-time", sampling_end_time, "sampling end time "),
TWOPT_STIME("arrival_time", arrival_time, "INTER-ARRIVAL TIME"),
TWOPT_CHAR("lp-io-dir", lp_io_dir, "Where to place io output (unspecified -> no output"),
TWOPT_UINT("lp-io-use-suffix", lp_io_use_suffix, "Whether to append uniq suffix to lp-io directory (default 0)"),
......
......@@ -87,10 +87,6 @@ tar xzf $P_PATH/sar.patches.tgz
wget http://downloads.openfabrics.org/management/opensm-3.3.20.tar.gz
mv opensm-3.3.20.tar.gz opensm.tar.gz
wget http://downloads.openfabrics.org/ibutils/ibutils-1.5.7-0.2.gbd7e502.tar.gz
mv ibutils-1.5.7-0.2.gbd7e502.tar.gz ibutils.tar.gz
wget http://downloads.openfabrics.org/management/infiniband-diags-1.6.7.tar.gz
mv infiniband-diags-1.6.7.tar.gz infiniband-diags.tar.gz
wget https://www.openfabrics.org/downloads/management/libibmad-1.3.12.tar.gz
mv libibmad-1.3.12.tar.gz libibmad.tar.gz
wget https://www.openfabrics.org/downloads/management/libibumad-1.3.10.2.tar.gz
......@@ -98,7 +94,7 @@ mv libibumad-1.3.10.2.tar.gz libibumad.tar.gz
patch -p1 < $P_PATH/fts.patch
./simuate.py -s
./simulate.py -s
2. Add LFT creating scripts to the fall-in-place toolchain.
cd $HOME/simulation/scripts
......
This diff is collapsed.
......@@ -18,6 +18,7 @@
/**** BEGIN SIMULATION DATA STRUCTURES ****/
int model_net_base_magic;
int mn_sample_enabled = 0;
// message-type specific offsets - don't want to get bitten later by alignment
// issues...
......@@ -36,7 +37,6 @@ static const char * annos[CONFIGURATION_MAX_ANNOS];
static model_net_base_params all_params[CONFIGURATION_MAX_ANNOS];
static tw_stime mn_sample_interval = 0.0;
static int mn_sample_enabled = 0;
static tw_stime mn_sample_end = 0.0;
typedef struct model_net_base_state {
......@@ -323,9 +323,9 @@ void model_net_base_configure(){
msg_offsets[DRAGONFLY_ROUTER] =
offsetof(model_net_wrap_msg, msg.m_dfly);
msg_offsets[DRAGONFLY_CUSTOM] =
offsetof(model_net_wrap_msg, msg.m_dfly);
offsetof(model_net_wrap_msg, msg.m_custom_dfly);
msg_offsets[DRAGONFLY_CUSTOM_ROUTER] =
offsetof(model_net_wrap_msg, msg.m_dfly);
offsetof(model_net_wrap_msg, msg.m_custom_dfly);
msg_offsets[SLIMFLY] =
offsetof(model_net_wrap_msg, msg.m_slim);
msg_offsets[FATTREE] =
......
......@@ -1694,7 +1694,7 @@ static void torus_report_stats()
if(!g_tw_mynode)
{
printf(" Average number of hops traversed %f average message latency %lf us maximum message latency %lf us finished packets %lld finished hops %lld \n",
printf(" Average number of hops traversed %f average packet latency %lf us maximum packet latency %lf us finished packets %lld finished hops %lld \n",
(float)avg_hops/total_finished_packets, avg_time/(total_finished_packets*1000), max_time/1000, total_finished_packets, avg_hops);
}
}
......
......@@ -626,13 +626,109 @@ diff -Nur scripts.orig/createIBNet.py scripts/createIBNet.py
+ #sys.exit('\nFinish!')
+ sys.exit(0)
diff -Nur scripts.orig/simulate.py scripts/simulate.py
--- scripts.orig/simulate.py 2016-08-17 14:02:19.306717000 -0700
+++ scripts/simulate.py 2016-08-17 13:10:45.369042000 -0700
@@ -724,21 +724,23 @@
os.system("sed -i -e 's#\"/usr/bin\":##g' %s/bin/ibdiagnet" % ofeddir)
diff -u scripts/simulate.py scripts/simulate.py
--- scripts/simulate.py 2016-08-17 13:10:45.369042000 -0700
+++ scripts/simulate.py 2017-04-25 19:24:20.959463076 +0900
@@ -610,24 +610,24 @@
os.mkdir(os.path.join(instdir, 'libibmad'))
if not os.path.exists(os.path.join(instdir, 'opensm')):
os.mkdir(os.path.join(instdir, 'opensm'))
- if not os.path.exists(os.path.join(instdir, 'infiniband-diags')):
- os.mkdir(os.path.join(instdir, 'infiniband-diags'))
+ #if not os.path.exists(os.path.join(instdir, 'infiniband-diags')):
+ # os.mkdir(os.path.join(instdir, 'infiniband-diags'))
if not os.path.exists(os.path.join(instdir, 'ibsim')):
os.mkdir(os.path.join(instdir, 'ibsim'))
- if not os.path.exists(os.path.join(instdir, 'ibutils')):
- os.mkdir(os.path.join(instdir, 'ibutils'))
- if not os.path.exists(os.path.join(instdir, 'omnet')):
- os.mkdir(os.path.join(instdir, 'omnet'))
- if not os.path.exists(os.path.join(instdir, 'ibmodel')):
- os.mkdir(os.path.join(instdir, 'ibmodel'))
+ #if not os.path.exists(os.path.join(instdir, 'ibutils')):
+ # os.mkdir(os.path.join(instdir, 'ibutils'))
+ #if not os.path.exists(os.path.join(instdir, 'omnet')):
+ # os.mkdir(os.path.join(instdir, 'omnet'))
+ #if not os.path.exists(os.path.join(instdir, 'ibmodel')):
+ # os.mkdir(os.path.join(instdir, 'ibmodel'))
os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'libibumad'), 'libibumad'))
os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'libibmad'), 'libibmad'))
os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'opensm'), 'opensm'))
- os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'infiniband-diags'), 'infiniband-diags'))
+ #os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'infiniband-diags'), 'infiniband-diags'))
os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'ibsim'), 'ibsim'))
- os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'ibutils'), 'ibutils'))
- os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'omnet'), 'omnet'))
- os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'ibmodel'), 'ibmodel'))
+ #os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'ibutils'), 'ibutils'))
+ #os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'omnet'), 'omnet'))
+ #os.system('tar xzf %s.tar.gz -C %s --strip-components 1' % (os.path.join(currdir, 'ibmodel'), 'ibmodel'))
# patching opensm
for root, dirs, files in os.walk(currdir):
@@ -681,64 +681,70 @@
os.system('make install >install.log 2>&1')
os.chdir(instdir)
- print "Step 4..."
- os.chdir(os.path.join(instdir, 'infiniband-diags'))
- os.system('(aclocal; libtoolize --force; autoheader; autoconf) >/dev/null 2>&1')
- os.system('./autogen.sh >autogen.log 2>&1')
- os.system('./configure %s --with-perl-installdir=%s >configure.log 2>&1' % (glob_config_opts, os.path.join(ofeddir, 'perl')))
- os.system('./autogen.sh >autogen.log 2>&1')
- os.system('./configure %s --with-perl-installdir=%s >configure.log 2>&1' % (glob_config_opts, os.path.join(ofeddir, 'perl')))
- os.system('make >make.log 2>&1')
- os.system('make install >install.log 2>&1')
- os.chdir(instdir)
+ print '...... skipping step 4 .....'
+ if 0:
+ print "Step 4..."
+ os.chdir(os.path.join(instdir, 'infiniband-diags'))
+ os.system('(aclocal; libtoolize --force; autoheader; autoconf) >/dev/null 2>&1')
+ os.system('./autogen.sh >autogen.log 2>&1')
+ os.system('./configure %s --with-perl-installdir=%s >configure.log 2>&1' % (glob_config_opts, os.path.join(ofeddir, 'perl')))
+ os.system('./autogen.sh >autogen.log 2>&1')
+ os.system('./configure %s --with-perl-installdir=%s >configure.log 2>&1' % (glob_config_opts, os.path.join(ofeddir, 'perl')))
+ os.system('make >make.log 2>&1')
+ os.system('make install >install.log 2>&1')
+ os.chdir(instdir)
print "Step 5..."
os.chdir(os.path.join(instdir, 'ibsim'))
os.system('make IB_DEV_DIR=%s prefix=%s all install >make.log 2>&1' % (instdir, ofeddir))
os.chdir(instdir)
- print "Step 6..."
- #os.chdir(os.path.join(instdir, 'ibutils'))
+ print '...... skipping step 6 .....'
+ if 0:
+ print "Step 6..."
+ #os.chdir(os.path.join(instdir, 'ibutils'))
# if socket.gethostname().find("t2a") >= 0:
# os.system("for x in `grep -R 2.2.6 . | cut -d ':' -f1 | sort -u`; do sed -i -e 's/2.2.6b/2.2.6/g' $x; done")
# os.system("for x in `grep -R Debian-2.2.6-2ubuntu1 . | cut -d ':' -f1 | sort -u`; do sed -i -e 's/ Debian-2.2.6-2ubuntu1//g' $x; done")
# os.system("for x in `grep -R 1.3017 . | cut -d ':' -f1 | sort -u`; do sed -i -e 's/1.3017/1.3012/g' $x; done")
# elif socket.gethostname().find("rc0") >= 0:
- os.chdir(os.path.join(instdir, 'ibutils', 'ibdiag'))
- os.system('(aclocal; libtoolize --force; autoconf) >/dev/null 2>&1')
- os.chdir(os.path.join(instdir, 'ibutils', 'ibdm'))
- os.system('(aclocal; libtoolize --force; autoheader; autoconf) >/dev/null 2>&1')
- os.chdir(os.path.join(instdir, 'ibutils', 'ibis'))
- os.system('(aclocal; libtoolize --force; autoheader; autoconf) >/dev/null 2>&1')
- os.chdir(os.path.join(instdir, 'ibutils', 'ibmgtsim'))
- os.system('(aclocal; libtoolize --force; autoheader; autoconf) >/dev/null 2>&1')
- os.chdir(os.path.join(instdir, 'ibutils'))
- os.system('(aclocal; libtoolize --force; autoconf) >/dev/null 2>&1')
- os.system('./autogen.sh >autogen.log 2>&1')
- os.system('./configure %s --with-osm=%s >configure.log 2>&1' % (glob_config_opts, ofeddir))
- os.system('./autogen.sh >autogen.log 2>&1')
- os.system('./configure %s --with-osm=%s >configure.log 2>&1' % (glob_config_opts, ofeddir))
- os.system('make >make.log 2>&1')
- os.system('make check >check.log 2>&1')
- os.system('make install >install.log 2>&1')
- os.system("sed -i -e 's#\"/usr/bin\":##g' %s/bin/ibdiagnet" % ofeddir)
- os.chdir(instdir)
-
- print "Step 7..."
- os.chdir(os.path.join(instdir, 'omnet'))
- os.environ['PATH'] = '%s:%s' % (os.path.join(instdir, 'omnet', 'bin'), os.getenv('PATH'))
......@@ -648,6 +744,26 @@ diff -Nur scripts.orig/simulate.py scripts/simulate.py
- os.environ['LD_LIBRARY_PATH'] = '%s:%s' % (os.path.join(instdir, 'omnet', 'lib'), os.getenv('LD_LIBRARY_PATH'))
- os.system('opp_makemake -f --deep -O out')
- os.system('make MODE=release')
+ os.chdir(os.path.join(instdir, 'ibutils', 'ibdiag'))
+ os.system('(aclocal; libtoolize --force; autoconf) >/dev/null 2>&1')
+ os.chdir(os.path.join(instdir, 'ibutils', 'ibdm'))
+ os.system('(aclocal; libtoolize --force; autoheader; autoconf) >/dev/null 2>&1')
+ os.chdir(os.path.join(instdir, 'ibutils', 'ibis'))
+ os.system('(aclocal; libtoolize --force; autoheader; autoconf) >/dev/null 2>&1')
+ os.chdir(os.path.join(instdir, 'ibutils', 'ibmgtsim'))
+ os.system('(aclocal; libtoolize --force; autoheader; autoconf) >/dev/null 2>&1')
+ os.chdir(os.path.join(instdir, 'ibutils'))
+ os.system('(aclocal; libtoolize --force; autoconf) >/dev/null 2>&1')
+ os.system('./autogen.sh >autogen.log 2>&1')
+ os.system('./configure %s --with-osm=%s >configure.log 2>&1' % (glob_config_opts, ofeddir))
+ os.system('./autogen.sh >autogen.log 2>&1')
+ os.system('./configure %s --with-osm=%s >configure.log 2>&1' % (glob_config_opts, ofeddir))
+ os.system('make >make.log 2>&1')
+ os.system('make check >check.log 2>&1')
+ os.system('make install >install.log 2>&1')
+ os.system("sed -i -e 's#\"/usr/bin\":##g' %s/bin/ibdiagnet" % ofeddir)
+ os.chdir(instdir)
+
+ print '...... skipping omnet install .....'
+ if 0:
+ print "Step 7..."
......@@ -668,10 +784,124 @@ diff -Nur scripts.orig/simulate.py scripts/simulate.py
print "Step 9..."
os.system('cp %s/*.py %s/' % (currdir, scriptdir))
@@ -925,39 +927,40 @@
@@ -832,24 +838,26 @@
routing_failed = True
osm_log.close()
- print "Scan fabric..."
- scanlog = os.path.join(ofedoutdir, 'scan.log')
- cmd = '%s %s %s >%s 2>&1 &' % (os.path.join(scriptdir, 'scanFabric.sh' ), instdir, ofedoutdir, scanlog)
- log.write('%s %s\n' % (time.asctime(), cmd))
- os.system(cmd)
- while True:
- if os.path.exists(scanlog):
- break
- time.sleep(1)
- scan_log = open(scanlog, 'r')
- gstr = ''
- while True:
- str = scan_log.read()
- gstr = gstr + str
- if gstr.find('SUBNET SCANNED') != -1:
- break
- time.sleep(1)
- scan_log.close()
+ # doesnt work in this mode since we removed ibdiagnet/ibnetdiscover
+ if 0:
+ print "Scan fabric..."
+ scanlog = os.path.join(ofedoutdir, 'scan.log')
+ cmd = '%s %s %s >%s 2>&1 &' % (os.path.join(scriptdir, 'scanFabric.sh' ), instdir, ofedoutdir, scanlog)
+ log.write('%s %s\n' % (time.asctime(), cmd))
+ os.system(cmd)
+ while True:
+ if os.path.exists(scanlog):
+ break
+ time.sleep(1)
+ scan_log = open(scanlog, 'r')
+ gstr = ''
+ while True:
+ str = scan_log.read()
+ gstr = gstr + str
+ if gstr.find('SUBNET SCANNED') != -1:
+ break
+ time.sleep(1)
+ scan_log.close()
print "Stop ibsim/opensm..."
toKill = [['startOpenSM.pid', signal.SIGTERM], ['startSIM.pid', signal.SIGTERM], ['opensm.pid', signal.SIGKILL], ['ibsim.pid', signal.SIGKILL]]
@@ -867,6 +875,9 @@
return
if routing.find('tofu') > -1:
+ log.write( '\nERROR: tofu not supported in this modus!\n' )
+ log.close()
+ return
print "Replace with tofu routing..."
LFTtoFDBSlog = os.path.join(testdir, 'LFTtoFDBSlog.log')
cmd = '%s --lft %s --ibnd %s --fdbs %s >%s 2>&1 &' % (os.path.join(scriptdir, 'IBNetLFTtoFDBS.py'), os.path.join(ofedoutdir, 'topo.lft'), os.path.join(ofedoutdir, 'ibnetdiscover.log'), os.path.join(ofedoutdir, 'ibdiagnet.fdbs'), LFTtoFDBSlog)
@@ -896,68 +907,71 @@
log.close()
return