Hello Wilson,
thanks for your help,
Unfortunately, I am still not able to run gem5 + hotspot & mcpat power
models.
I had a look into bamboo.sh, which I guess is your script for the
automation of functional testing. It looks like the configuration gem5
+ power modeling is not tested here. bamboo.sh tests either hotspot +
mcpat + orion (target PowerTherm_test) or gem5 (targets gem5 and
sstmacro*), but not the combination of the two.
Am I right ?
Do you test the gem5 + mcpat configuration ?
I did another test using
./deps/bin/sstDependencies.sh -b default -g stabledevel -p default -z
default -m default -o default -i default -h default cleanBuild
as you have recommended.
All the dependencies build OK, but compiling sst leads to several
compilation errors. Some are obvious to fix, which makes me wonder if
the configuration gem5 + hotspot + mcpat is really tested.
For example, in m5.cpp (sst revision 3057) the ';' mark misses after
Finish_Power():
====== line 193 ========
int M5::Finish()
{
#ifdef M5_WITH_POWER
Finish_Power()
#endif
return 0;
}
====== line 200 ========
and the corresponding build log is
/usr/bin/mpicxx -DHAVE_CONFIG_H -I. -I../../../sst -I/home/damien/
projets/power/sst-ubuntu/local/include -I/usr/lib/openmpi/include -I/
usr/lib/openmpi/include/openmpi -I/home/damien/projets/power/sst-
ubuntu/local/packages/gem5-sst/build/X86_SE -DTHE_ISA=X86_ISA -
DTRACING_ON=1 -I../../../sst/elements/include -I../../../sst/elements -
I/home/damien/projets/power/sst-ubuntu/local/packages/McPAT -I/home/
damien/projets/power/sst-ubuntu/local/packages/HotSpot -DM5_WITH_POWER
-I../../.. -I../../.. -I/usr/include/python2.6 -Wall -Wno-long-long -
MT libm5C_la-m5.lo -MD -MP -MF .deps/libm5C_la-m5.Tpo -c m5.cpp -fPIC
-DPIC -o .libs/libm5C_la-m5.o
(...)
m5.cpp:17: warning: when initialized here
m5.cpp: In member function 'virtual int M5::Finish()':
m5.cpp:199: error: expected ';' before 'return'
m5.cpp:200: warning: no return statement in function returning non-
void
power.cpp gives me a lot of compiling errors. Maybe I am missing
something?
make[4]: Entering directory `/home/damien/projets/power/SST/sst-trunk/
sst/elements/M5'
/bin/bash ../../../libtool --tag=CXX --mode=compile /usr/bin/mpicxx -
DHAVE_CONFIG_H -I. -I../../../sst -I/home/damien/projets/power/sst-
ubuntu/local/include -I/usr/lib/openmpi/include -I/usr/lib/openmpi/
include/openmpi -I/home/damien/projets/power/sst-ubuntu/local/packages/
gem5-sst/build/X86_SE -DTHE_ISA=X86_ISA -DTRACING_ON=1 -I../../../sst/
elements/include -I../../../sst/elements -I/home/damien/projets/power/
sst-ubuntu/local/packages/McPAT -I/home/damien/projets/power/sst-
ubuntu/local/packages/HotSpot -DM5_WITH_POWER -I../../.. -I../../..
-I/usr/include/python2.6 -Wall -Wno-long-long -MT libm5C_la-power.lo -
MD -MP -MF .deps/libm5C_la-power.Tpo -c -o libm5C_la-power.lo `test -f
'power.cpp' || echo './'`power.cpp
/usr/bin/mpicxx -DHAVE_CONFIG_H -I. -I../../../sst -I/home/damien/
projets/power/sst-ubuntu/local/include -I/usr/lib/openmpi/include -I/
usr/lib/openmpi/include/openmpi -I/home/damien/projets/power/sst-
ubuntu/local/packages/gem5-sst/build/X86_SE -DTHE_ISA=X86_ISA -
DTRACING_ON=1 -I../../../sst/elements/include -I../../../sst/elements -
I/home/damien/projets/power/sst-ubuntu/local/packages/McPAT -I/home/
damien/projets/power/sst-ubuntu/local/packages/HotSpot -DM5_WITH_POWER
-I../../.. -I../../.. -I/usr/include/python2.6 -Wall -Wno-long-long -
MT libm5C_la-power.lo -MD -MP -MF .deps/libm5C_la-power.Tpo -c
power.cpp -fPIC -DPIC -o .libs/libm5C_la-power.o
In file included from ./m5.h:7,
from power.cpp:1:
./barrier.h: In constructor 'BarrierAction::BarrierAction(int)':
./barrier.h:128: warning: 'BarrierAction::m_numReporting' will be
initialized after
./barrier.h:126: warning: 'int BarrierAction::m_opened'
./barrier.h:50: warning: when initialized here
./barrier.h:73: warning: comparison between signed and unsigned
integer expressions
./barrier.h: In member function 'virtual void
BarrierAction::execute()':
./barrier.h:103: warning: comparison between signed and unsigned
integer expressions
./barrier.h: In member function 'void BarrierAction::openWriteFds()':
./barrier.h:117: warning: comparison between signed and unsigned
integer expressions
power.cpp: At global scope:
power.cpp:4: error: 'm5' has not been declared
power.cpp: In function 'void Init_Power()':
power.cpp:6: error: 'params' was not declared in this scope
power.cpp:8: error: 'machineType' was not declared in this scope
power.cpp:10: error: 'machineType' was not declared in this scope
power.cpp:13: error: 'frequency' was not declared in this scope
power.cpp:14: error: 'params' was not declared in this scope
power.cpp:18: error: expected type-specifier before 'Clock'
power.cpp:18: error: expected ')' before 'Clock'
power.cpp:19: error: 'registerClock' was not declared in this scope
power.cpp: At global scope:
power.cpp:22: error: 'm5' has not been declared
power.cpp: In function 'void Setup_Power()':
power.cpp:24: error: 'power' was not declared in this scope
power.cpp:24: error: expected type-specifier before 'Power'
power.cpp:24: error: expected ';' before 'Power'
power.cpp:27: error: 'params' was not declared in this scope
power.cpp:30: error: 'getId' was not declared in this scope
power.cpp:30: error: 'CACHE_IL1' was not declared in this scope
power.cpp:30: error: 'McPAT' was not declared in this scope
power.cpp:31: error: 'CACHE_DL1' was not declared in this scope
power.cpp:32: error: 'CACHE_L2' was not declared in this scope
(etc.)
configuring SST is done using :
./configure --disable-silent-rules --prefix=$SST_INSTALL --with-boost=
$SST_DEPS_INSTALL_BOOST --with-zoltan=$SST_DEPS_INSTALL_ZOLTAN --with-
parmetis=$SST_DEPS_INSTALL_PARMETIS --with-McPAT=
$SST_DEPS_INSTALL_MCPAT --with-hotspot=$SST_DEPS_INSTALL_HOTSPOT --
with-gem5=$SST_DEPS_INSTALL_GEM5SST --with-gem5-build=opt CC=`which
mpicc` CXX=`which mpicxx` CFLAGS=-I/usr/include/python2.6 CXXFLAGS=-
I/usr/include/python2.6
and all the envt variables are defined by copy-pasting the output of
sstDependencies.sh.
the configure script runs OK, and tells
checking for initm5 in -lgem5_opt... yes
checking for main in -lMcPAT... yes
checking for main in -lhotspot... yes
checking if M5 can build... yes
I can send you the full build log in a separate mail if you want.
Do you see what's going wrong ? Do you test gem5+hotspot+mcpat?
regards,
Damien