I don’t think you can succeed this simulation. You cannot use
Opal with Ruby’s TM.
https://lists.cs.wisc.edu/archive/gems-users/2008-September/msg00038.shtml
https://lists.cs.wisc.edu/archive/gems-users/2008-September/msg00042.shtml
If you want to simulate GEMS TM with 2 or more SMT threads, you
will have to change Ruby.
And it will be quite hard, because transactions do not allow context
switching and system calls.
Concerning LLTM, having two isolated transactions sharing a same
L1 cache may cause trouble on correctness issue, too.
GEMS internal code might have made an assumption that SMT_THREAD
== 1 and it can trouble you, too.
I don’t think your goal is easily accessible with the simple
change of parameters.
- Bernard
From:
gems-users-bounces@xxxxxxxxxxx [mailto:gems-users-bounces@xxxxxxxxxxx] On
Behalf Of lenglihello
Sent: Sunday, July 26, 2009 2:24 AM
To: Gems Users
Subject: Re: [Gems-users] error with setting g_NUM_SMT_THREADS
Thanks for your
reply. reference to your reply I load opal when I set "g_NUM_SMT_THREADS
= 2", but it still cannot work. and the error shows as
"unable to locate object: ruby0 warning: ruby not present or it does not
implement mf-ruby-api interface.....segmentation fault (SIGSEGV) in main
thread". I searched on line with no result, is there any problem with my
script? Thanks agin!
instruction-fetch-mode instruction-fetch-trace
istc-disable
dstc-disable
magic-break-disable
cpu-switch-time 1
magic-break-enable
@smt_thread=2
load-module opal
#--------------start load opal--------------------------------
@run("opal0.setparam CONFIG_LOGICAL_PER_PHY_PROC %d" % (smt_thread))
@run("opal0.setparam CONFIG_IREG_PHYSICAL
%d" % (160*smt_thread+64))
@run("opal0.setparam CONFIG_FPREG_PHYSICAL
%d" % (64*smt_thread+128))
@run("opal0.setparam CONFIG_CCREG_PHYSICAL %d" % (5*smt_thread+64))
opal0.init
#-------------end load opal----------------------------------
#----------------start load
ruby-----------------------------
load-module ruby
ruby0.setparam g_NUM_PROCESSORS 2
ruby0.setparam g_PROCS_PER_CHIP 2
@run("ruby0.setparam g_NUM_SMT_THREADS %d"% (smt_thread))
ruby0.setparam g_MEMORY_SIZE_BYTES 2147483648
ruby0.setparam NUMBER_OF_VIRTUAL_NETWORKS 5
ruby0.setparam XACT_DEBUG_LEVEL 0
ruby0.setparam_str PROFILE_XACT true
ruby0.setparam_str XACT_MEMORY true
ruby0.setparam_str XACT_LAZY_VM true
ruby0.setparam_str XACT_EAGER_CD false
ruby0.setparam_str REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH true
ruby0.setparam_str XACT_CONFLICT_RES BASE
ruby0.setparam_str USER_MODE_DATA_ONLY true
ruby0.init
ruby0.debug-output-file /root/gems/simics_3_workspace/output_file/5n
#--------------end load ruby--------------------------------
c
发件人: Muhammad abid
Mughal
发送时间: 2009-07-24
22:18:30
主题: Re: [Gems-users]
error with setting g_NUM_SMT_THREADS
To
the best of knowledge, g_NUM_SMT_THREADS parameter only valid for Opal
processor.
There
may be some other reason of this error "Segmentation fault (SIGSEGV) int
main thread"".
From: lenglihello
<lenglihello@xxxxxxx>
To: GEMS_USERS <gems-users@xxxxxxxxxxx>
Sent: Friday, July 24, 2009 17:17:06
Subject: [Gems-users] error with setting g_NUM_SMT_THREADS
I encounter a problem with "g_NUM_SMT_THREADS
". To test with multi-threads, I set "g_NUM_SMT_THREADS=2",
and simics failed with "Segmentation fault (SIGSEGV) int main
thread". But it works well with "g_NUM_SMT_THREADS=1". I
worked with simics-3.0.1 and gems 2.1, gcc-4.1.2, target machine is solaris10,
sparc. I want to know if there is something error in my ruby initiate?
any help will be apreciated!
***************************************
istc-disable
dstc-disable
magic-break-disable
cpu-switch-time 1
magic-break-enable
read-configuration
solaris_checkpoint_zc/solaris10_2p_gcc1.conf
load-module ruby
ruby0.setparam g_NUM_PROCESSORS 2
ruby0.setparam g_MEMORY_SIZE_BYTES 2147483648
ruby0.setparam g_PROCS_PER_CHIP 2
ruby0.setparam g_NUM_SMT_THREADS 2
ruby0.setparam NUMBER_OF_VIRTUAL_NETWORKS 5
ruby0.setparam XACT_DEBUG_LEVEL 0
ruby0.setparam_str PROFILE_XACT true
ruby0.setparam_str XACT_MEMORY true
ruby0.setparam_str XACT_LAZY_VM true
ruby0.setparam_str XACT_EAGER_CD true
ruby0.setparam_str REMOVE_SINGLE_CYCLE_DCACHE_FAST_PATH
true
ruby0.setparam_str XACT_CONFLICT_RES BASE
ruby0.setparam_str USER_MODE_DATA_ONLY true
#ruby0.setparam_str XACT_ISOLATION_CHECK true
ruby0.init
ruby0.debug-output-file
/root/gems/simics_3_workspace/output_file/2p_output
c
*************************************
2009-07-24
Get
your new Email address!
Grab the Email name you've always wanted before someone else does!