Hi Tao,

On Fri, 19 Aug 2005, Liu,Tao wrote:

> Hi,
>
> Does the Simflex support pthread library? If not, does it provide
> alternative APIs? Thanks!

I don't understand the context of your question.

TurboSMARTSim is a variant of SimpleScalar, and thus is not multi-threaded
and does not run multi-threaded applications.

Flexus, our full-system simulator, can run any application that runs on a
real SunFire.  Thus, it can run benchmark applications that use pthreads,
or anything else.

The Flexus simulation codebase itself is not multithreaded, and does not
use pthreads (Simics doesn't either, to my knowledge).  However, it would
be possible to link it to multithreaded code if you needed to do so.  We
generally recommend disabling threading support in the GCC you use to
build Flexus, as it significantly improves simulator performance (~20%).
But, Flexus will build correctly with threading enabled.

If I did not answer your question, please explain more clearly what you
need pthreads for.

Hope that helps,
-Tom Wenisch
Computer Architecture Lab
Carnegie Mellon University

>
> Tao Liu
>
>
>
> _______________________________________________
> SimFlex mailing list
> [email protected]
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex
>
From twenisch at ece.cmu.edu  Fri Aug 19 00:09:13 2005
From: twenisch at ece.cmu.edu (Thomas Wenisch)
List-Post: [email protected]
Date: Fri Aug 19 00:08:34 2005
Subject: FW: [Simflex] Flexus test error
In-Reply-To: <[email protected]>
References: <[email protected]>
Message-ID: <pine.lnx.4.53l-ece.cmu.edu.0508182336120.25...@dalmore.ece.cmu.edu>

Hi Lu,

The error you are seeing appears to be caused by a change in the
implementation of cpu_switch_time_cmd in Simics 2.2.14 (we have only
tested up to 2.2.12 here).  Virtutech must have changed the implementation
of this command since 2.2.12, because I do not see the line quoted in your
error message at line 3607 of that file.  I will file a bug report with
Virtutech about this.

As a workaround, you can try making the following changes to
flexus-test.simics:

on line 63, which currently reads:
  sim_commands.cpu_switch_time_cmd(1)

change it to the following:
  SIM_set_attribute(SIM_get_object("sim"),"cpu_switch_time",1)

Note that this is python code, so you have to use the same number of
spaces to indent.  Also note that I haven't tested this.

If this workaround doesn't work, email the list again, and we will try to
make a fixed flexus-test.simics.

--

As to your second question, you can use other application checkpoints with
Flexus simply by loading them in Simics (via read-configuration) and then
loading Flexus (via load-module).  Note that libflexus-*.so must be in
your Simics library subdirectory (simics/x86-linux/lib) for Simics to be
able to locate it.

The interactive script is an example of how you can automate the steps to
create temporary directories, copy files, and launch simics to load a
specific application checkpoint.  The version we distribute is a
stripped-down version of our own in-house scripts, and doesn't support
anything except the test app.I suggest you walk through the interactive
script to see what it is doing.  config/preload.simics is the file which
actually causes the flexus-test-app to be loaded.  If you change this file
to load a different simics checkpoint, you can launch other benchmarks.

Hope that helps.

Regards,
-Tom Wenisch
Computer Architecture Lab
Carnegie Mellon University

On Fri, 19 Aug 2005, lu peng wrote:

>
> Hi, Tom,
>
> Could you please take a look about my attached question? BTW, if I already 
> have some checkpoints, how can I link them with 'interactive' or run with 
> SimFlex?
>
> Thanks,
>
> Lu
>
> __________________________________________________________________________________________________________________________________________________________________________
>       From: "lu peng" <[email protected]>
>       Reply-To: SimFlex software support <[email protected]>
>       To: [email protected]
>       CC: [email protected]
>       Subject: [Simflex] Flexus test error
>       Date: Thu, 18 Aug 2005 23:10:08 +0000
>
>       Hi, There,
> ?lt;/div> I am trying to run the flexus-test. However, the following error 
> message appeared. Could you please take a look?
> ?lt;/div> Prompt reached
> [cpu0] v:0x0000000010047184 p:0x0000000002c47184?bne,a,pt %icc, 0x100471b8
>  mount /dev/dsk/c0t1d0s0 /mnt; cd /mnt/src; ./flexus-test-app 8 10
> Running 8 threads for 10 iterations each.
> Warmup start call back triggered
> Traceback (most recent call last):
> ?File "<string>", line 3, in hap_magic_callback
> ?File "<string>", line 6, in call_back_Warmup
> ?File 
> "/home/hsun/lpeng/simflex/simics-2.2.14/x86-linux/lib/python/sim_commands.py",
>  line 3607, in cpu_switch_time_cmd
>   ?if poly[0] == int_t:
> TypeError: unsubscriptable object
> Exception in hap handler: exception in python callback
> Exception in hap handler
> Warmup start call back executed
> [flexus-test.simics:141] the command did not complete properly; interrupting 
> script
> Thanks,
> Lu
> ?lt;/div>
>
>
>
From penglu01 at hotmail.com  Sat Aug 20 16:49:37 2005
From: penglu01 at hotmail.com (lu peng)
List-Post: [email protected]
Date: Sat Aug 20 16:49:49 2005
Subject: FW: [Simflex] Flexus test error
In-Reply-To: 
<pine.lnx.4.53l-ece.cmu.edu.0508182336120.25...@dalmore.ece.cmu.edu>
Message-ID: <[email protected]>

An HTML attachment was scrubbed...
URL: 
http://sos.ece.cmu.edu/pipermail/simflex/attachments/20050820/8fafa086/attachment.html
From liutao at ict.ac.cn  Mon Aug 22 02:51:24 2005
From: liutao at ict.ac.cn (Liu,Tao)
List-Post: [email protected]
Date: Mon Aug 22 02:51:42 2005
Subject: [Simflex] Flexus error when simulating the test application
Message-ID: <[email protected]>

Hi, Tom,

Thanks for the clarification!

I followed the Flexus-Getting-Started to test the simulator. The environment
is set according to the guide: gcc 3.4.4, boost c++ 1.32.0, simics 2.0.28,
solaris 8 2/04 on sarek machine. But I got an error when come to "Simulating
an Application in Flexus" section at page 7 of the guide:
############################################################
[zhoufeng flexus-test-app]$ ./interactive CMPFlex
Starting interactive run of flexus_test with CMPFlex in
/home/zhoufeng/flexus/flexus-test-app/runs/zhoufeng-CMPFlex-22Aug05-151733
Launching job
Error loading module 'flexus-CMPFlex-v9-iface-gcc': Failed to load module
'flexus-CMPFlex-v9-iface-gcc'
('/home/zhoufeng/flexus/flexus-test-app/runs/zhoufeng-CMPFlex-22Aug05-151733
/simics/x86-linux/lib/libflexus_CMPFlex_v9_iface_gcc.so'):
"/home/zhoufeng/flexus/flexus-test-app/runs/zhoufeng-CMPFlex-22Aug05-151733/
simics/x86-linux/lib/libflexus_CMPFlex_v9_iface_gcc.so: undefined symbol:
__init_array_end"
[load.simics:2] the command did not complete properly; interrupting script
###########################################################
I can still type "run" to start the simulation. But after 10 iterations
finished, the simics promot is blocked and the statistics database is not
generated. Could you please take a look?

Best wishes,
Tao Liu


Reply via email to