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
