Re: Abridged summary of SST-simulator@googlegroups.com - 6 Messages in 1 Topic

25 views
Skip to first unread message

Damien Couroussé

unread,
Jul 17, 2012, 11:12:46 AM7/17/12
to sst-si...@googlegroups.com
Hello Si,

Thank you very much for your help,

With the helper scripts in deps all the dependency library compile OK from the head of the svn repository. I wasn't aware of these helper of these helper scripts.

However, I still get build errors. My aim is to use SST + power models with gem5.

gem5 is built for X86_SE
dependencies built using
./deps/bin/sstDependencies.sh -b default -g default -p default -z default -m default -o default -i default -h default cleanBuild


gcc version 4.4.5 (Debian 4.4.5-8) x86_64-linux-gnu
mpic++ version 4.4.5 (Debian 4.4.5-8) x86_64-linux-gnu


From sst rev 3040 + gem5-patched-v004 + local build of boost v0.43:
./configure --prefix=/usr/local --with-boost=/home/damien/projets/power/SST/local --with-boost-libdir=/home/damien/projets/power/SST/local --with-zoltan=/home/damien/projets/power/SST/local --with-parmetis=/home/damien/projets/power/SST/local --with-McPAT=/home/damien/projets/power/SST/local/packages/McPAT --with-hotspot=/home/damien/projets/power/SST/local/packages/HotSpot  --with-gem5=/home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE --with-gem5-build=opt CFLAGS=-I/usr/include/python2.6 CXXFLAGS=-I/usr/include/python2.6


/bin/bash ../../../libtool --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../../sst  -I/home/damien/projets/power/SST/local/include -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -I/home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE -DTHE_ISA=X86_ISA -DTRACING_ON=1  -I../../../sst/elements/include -I../../../sst/elements -I/home/damien/projets/power/SST/local/packages/McPAT -I/home/damien/projets/power/SST/local/packages/HotSpot -DM5_WITH_POWER  -I../../.. -I../../..   -I/usr/include/python2.6 -Wall -Wno-long-long -MT libm5C_la-loadMemory.lo -MD -MP -MF .deps/libm5C_la-loadMemory.Tpo -c -o libm5C_la-loadMemory.lo `test -f 'loadMemory.cpp' || echo './'`loadMemory.cpp
 g++ -DHAVE_CONFIG_H -I. -I../../../sst -I/home/damien/projets/power/SST/local/include -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -I/home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE -DTHE_ISA=X86_ISA -DTRACING_ON=1 -I../../../sst/elements/include -I../../../sst/elements -I/home/damien/projets/power/SST/local/packages/McPAT -I/home/damien/projets/power/SST/local/packages/HotSpot -DM5_WITH_POWER -I../../.. -I../../.. -I/usr/include/python2.6 -Wall -Wno-long-long -MT libm5C_la-loadMemory.lo -MD -MP -MF .deps/libm5C_la-loadMemory.Tpo -c loadMemory.cpp  -fPIC -DPIC -o .libs/libm5C_la-loadMemory.o
In file included from /usr/include/c++/4.4/ext/hash_map:60,
                 from /home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/base/hashmap.hh:35,
                 from /home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/arch/x86/types.hh:48,
                 from /home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/arch/types.hh:1,
                 from /home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/cpu/thread_context.hh:38,
                 from ./dummyThreadContext.h:4,
                 from ./dummySystem.h:5,
                 from loadMemory.cpp:4:
/usr/include/c++/4.4/backward/backward_warning.h:28:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated.
In file included from /home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/base/statistics.hh:67,
                 from /home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/sim/sim_object.hh:49,
                 from /home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/mem/mem_object.hh:41,
                 from /home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/mem/physical.hh:41,
                 from loadMemory.cpp:3:
/home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/base/intmath.hh: In function 'uint64_t power(uint32_t, uint32_t)':
/home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/base/intmath.hh:89: warning: comparison between signed and unsigned integer expressions
In file included from /home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/sim/sim_object.hh:49,
                 from /home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/mem/mem_object.hh:41,
                 from /home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/mem/physical.hh:41,
                 from loadMemory.cpp:3:
/home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/base/statistics.hh: In member function 'void Stats::HistStor::prepare(Stats::Info*, Stats::DistData&)':
/home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/base/statistics.hh:1566: warning: comparison between signed and unsigned integer expressions
In file included from ./dummySystem.h:4,
                 from loadMemory.cpp:4:
/home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/sim/system.hh: In member function 'int System::markWorkItem(int)':
/home/damien/projets/power/SST/gem5-patched-v004/build/X86_SE/sim/system.hh:198: warning: comparison between signed and unsigned integer expressions
In file included from ./dummySystem.h:5,
                 from loadMemory.cpp:4:
./dummyThreadContext.h: At global scope:
./dummyThreadContext.h:56: error: ISO C++ forbids declaration of 'Decoder' with no type
./dummyThreadContext.h:56: error: 'Decoder' declared as a 'virtual' field
./dummyThreadContext.h:56: error: expected ';' before '*' token
loadMemory.cpp:55: error: expected ';' at end of input
loadMemory.cpp:55: error: expected '}' at end of input



Do you see what is going wrong ?
 
thanks,
Damien

Wilson, Jon

unread,
Jul 17, 2012, 11:27:40 AM7/17/12
to sst-si...@googlegroups.com
Hi Damien,

We have had some changes in our gem5 recently, so I would recommend using an updated version from our repository.

If you do an "svn update" to pull the latest SST, you can then re-run the sstDependencies.sh script as such to pull in and build the latest from our gem5 branch repository instead of the provided tarfile.

./deps/bin/sstDependencies.sh -b default -g stabledevel -p default -z default -m default -o default -i default -h default cleanBuild

Let me know if you have further problems,

J.

-- 
Jon Wilson
SST Software Engineering/Quality Assurance
CSRI
Sandia National Laboratory

Damien Couroussé

unread,
Jul 19, 2012, 5:44:15 AM7/19/12
to Structural Simulation Toolkit
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

Reply all
Reply to author
Forward
0 new messages