Hi, After installing flexus, i followed the steps from Flexus-Getting-started.pdf manual. Everything worked fine. Now i tried changing the input program from "filter" application to "MyHelloWorld" . I modified the prepare-test-app-x86.simics scripts to take "MyHelloWorld" as the input program. But when i launch the simulation using prepare-test-app script I get
"./prepare-test-app: line 58: 2007 CPU time limit exceeded $SIMICS_BASE/scripts/start-simics -x prepare-test-app-x86.simics -no-win" error. After some hours of debugging, I found the issue to be that "MyHelloWorld" is not accessible from the simulated machine. Please tell me how to "copy" "MyHelloWorld" from host to simulated machine. Thanks, Venkat. From evlachos at ece.cmu.edu Wed Oct 15 18:01:12 2008 From: evlachos at ece.cmu.edu (Evangelos Vlachos) List-Post: [email protected] Date: Wed Oct 15 18:01:35 2008 Subject: [Simflex] moving benchmarks from host machine to simulated machine In-Reply-To: <[email protected]> References: <[email protected]> Message-ID: <[email protected]> Hello Venkat, There are two ways to transfer data into the simulated machine. The first one, which is the one we use in our scripts, is to generate a disk image with the data you want to transfer and connect it to the simulated machine. When the simulated machine boots, it identifies the new disk and can actually start using it. The problem with that approach is that you may end up spending a lot of time generating the disk image. If you decide to do so, you probably want to read chapter 7 of simics-user-guide-unix.pdf for instractions. If you have already a disc image of the things you want to transfer, then check out the scripts to see how we connect the disk image that contains the flexus-test-app; that would be in prepare-test-app-x86.simics: local $scsi_disk = (create-std-scsi-disk "FLEXUS" scsi_id = 0 size = 18351872000 file = "flexus-test-app-disk_x86.image"). There is a similar line for v9 systems. The second approach would be to generate a cd-rom image with the data you want to transfer, given that these don't exceed the cd-rom size. Read pages 76-77 of simics-user-guide-unix.pdf to see how to generate and insert the cd in the simulated system. Also (very important) read this chain of e-mails so you can avoid some of the problems that may come up. https://sos.ece.cmu.edu/pipermail/simflex/2008-May/000421.html Please, let us know if you have any other questions. Regards, Evangelos Vlachos On Wed, 15 Oct 2008, Venkatanathan Annamalai wrote: > Hi, > > After installing flexus, i followed the steps from > Flexus-Getting-started.pdf manual. Everything worked fine. Now i tried > changing the input program from "filter" application to "MyHelloWorld" > . I modified the prepare-test-app-x86.simics scripts to take > "MyHelloWorld" as the input program. But when i launch the simulation > using prepare-test-app script I get > > "./prepare-test-app: line 58: 2007 CPU time limit exceeded > $SIMICS_BASE/scripts/start-simics -x prepare-test-app-x86.simics > -no-win" error. After some hours of debugging, I found the issue to > be that "MyHelloWorld" is not accessible from the simulated machine. > Please tell me how to "copy" "MyHelloWorld" from host to simulated > machine. > > Thanks, > Venkat. > _______________________________________________ > SimFlex mailing list > [email protected] > https://sos.ece.cmu.edu/mailman/listinfo/simflex > SimFlex web page: http://www.ece.cmu.edu/~simflex > From venkat.nathan at gmail.com Sun Oct 19 02:23:11 2008 From: venkat.nathan at gmail.com (Venkatanathan Annamalai) List-Post: [email protected] Date: Mon Oct 20 09:31:09 2008 Subject: [Simflex] moving benchmarks from host machine to simulated machine In-Reply-To: <[email protected]> References: <[email protected]> <[email protected]> Message-ID: <[email protected]> Hi Evangelos, Thanks for the info. I finally moved the files from host to simulated using "simicsfs|hostfs" filesystem. But now I am not able to execute my binary in the simulated machine. I get "cannot execute binary file" in the simulated machine. Is this due to cross-compilation problems of gcc ? host machine : amd64-linux simulated machine: x86-linux ( Fedora OS ) The source of my executable: #include <stdio.h> int main() { printf("hello world"); return 0; } Thanks, Venkat. On Thu, Oct 16, 2008 at 3:31 AM, Evangelos Vlachos <[email protected]> wrote: > > > Hello Venkat, > > There are two ways to transfer data into the simulated machine. The first > one, which is the one we use in our scripts, is to generate a disk image > with the data you want to transfer and connect it to the simulated machine. > When the simulated machine boots, it identifies the new disk and can > actually start using it. The problem with that approach is that you may end > up spending a lot of time generating the disk image. If you decide to do so, > you probably want to read chapter 7 of simics-user-guide-unix.pdf for > instractions. If you have already a disc image of the things you want to > transfer, then check out the scripts to see how we connect the disk image > that contains the flexus-test-app; that would be in > prepare-test-app-x86.simics: local $scsi_disk = (create-std-scsi-disk > "FLEXUS" scsi_id = 0 size = 18351872000 file = > "flexus-test-app-disk_x86.image"). There is a similar line for v9 systems. > > The second approach would be to generate a cd-rom image with the data you > want to transfer, given that these don't exceed the cd-rom size. Read pages > 76-77 of simics-user-guide-unix.pdf to see how to generate and insert the cd > in the simulated system. Also (very important) read this chain of e-mails so > you can avoid some of the problems that may come up. > https://sos.ece.cmu.edu/pipermail/simflex/2008-May/000421.html > > Please, let us know if you have any other questions. > > Regards, > Evangelos Vlachos > > On Wed, 15 Oct 2008, Venkatanathan Annamalai wrote: > >> Hi, >> >> After installing flexus, i followed the steps from >> Flexus-Getting-started.pdf manual. Everything worked fine. Now i tried >> changing the input program from "filter" application to "MyHelloWorld" >> . I modified the prepare-test-app-x86.simics scripts to take >> "MyHelloWorld" as the input program. But when i launch the simulation >> using prepare-test-app script I get >> >> "./prepare-test-app: line 58: 2007 CPU time limit exceeded >> $SIMICS_BASE/scripts/start-simics -x prepare-test-app-x86.simics >> -no-win" error. After some hours of debugging, I found the issue to >> be that "MyHelloWorld" is not accessible from the simulated machine. >> Please tell me how to "copy" "MyHelloWorld" from host to simulated >> machine. >> >> Thanks, >> Venkat. >> _______________________________________________ >> SimFlex mailing list >> [email protected] >> https://sos.ece.cmu.edu/mailman/listinfo/simflex >> SimFlex web page: http://www.ece.cmu.edu/~simflex >> > From venkat.nathan at gmail.com Sun Oct 19 09:21:27 2008 From: venkat.nathan at gmail.com (Venkatanathan Annamalai) List-Post: [email protected] Date: Mon Oct 20 09:32:26 2008 Subject: [Simflex] moving benchmarks from host machine to simulated machine In-Reply-To: <[email protected]> References: <[email protected]> <[email protected]> <[email protected]> Message-ID: <[email protected]> Hi Evangelos, I have temporary solved this prblm by moving my source file to the simulated machind and compiling it again there. So in my prepare-test-app-x86.simics I have changed the code to "conf.con0.input = "mount /host;cp /host/home/senthilv/flexus/flexus-3.0.0/flexus-test-app/hw.c .;gcc hw.c;./a.out \n"" . When the script is executed I get the o/p as [con0 info] Graphics subsystem not initialized Keyboard 'kbd0' and video 'vga0' now connected to text-console 'con0'. Display Updated Pressing return [pci_to_usb0 spec-viol] Write to constant field usb_regs.port_status_control[0].RES (value written = 0x0, contents = 0x1). End Prompt reached *./prepare-test-app: line 58: 12062 CPU time limit exceeded $SIMICS_BASE/scripts/start-simics -x prepare-test-app-x86.simics -no-win* Done! Do I have to change anything else to run my binary as test input ? Please guide. Thanks, Venkat. On Sun, Oct 19, 2008 at 11:53 AM, Venkatanathan Annamalai < [email protected]> wrote: > Hi Evangelos, > Thanks for the info. I finally moved the files from host to > simulated using "simicsfs|hostfs" filesystem. But now I am not able to > execute my binary in the simulated machine. I get "cannot execute > binary file" in the simulated machine. Is this due to > cross-compilation problems of gcc ? > > host machine : amd64-linux > simulated machine: x86-linux ( Fedora OS ) > > The source of my executable: > #include <stdio.h> > int main() > { > printf("hello world"); > return 0; > } > > Thanks, > Venkat. > > On Thu, Oct 16, 2008 at 3:31 AM, Evangelos Vlachos <[email protected]> wrote: >> >> >> Hello Venkat, >> >> There are two ways to transfer data into the simulated machine. The first >> one, which is the one we use in our scripts, is to generate a disk image >> with the data you want to transfer and connect it to the simulated machine. >> When the simulated machine boots, it identifies the new disk and can >> actually start using it. The problem with that approach is that you may end >> up spending a lot of time generating the disk image. If you decide to do so, >> you probably want to read chapter 7 of simics-user-guide-unix.pdf for >> instractions. If you have already a disc image of the things you want to >> transfer, then check out the scripts to see how we connect the disk image >> that contains the flexus-test-app; that would be in >> prepare-test-app-x86.simics: local $scsi_disk = (create-std-scsi-disk >> "FLEXUS" scsi_id = 0 size = 18351872000 file = >> "flexus-test-app-disk_x86.image"). There is a similar line for v9 systems. >> >> The second approach would be to generate a cd-rom image with the data you >> want to transfer, given that these don't exceed the cd-rom size. Read pages >> 76-77 of simics-user-guide-unix.pdf to see how to generate and insert the cd >> in the simulated system. Also (very important) read this chain of e-mails so >> you can avoid some of the problems that may come up. >> https://sos.ece.cmu.edu/pipermail/simflex/2008-May/000421.html >> >> Please, let us know if you have any other questions. >> >> Regards, >> Evangelos Vlachos >> >> On Wed, 15 Oct 2008, Venkatanathan Annamalai wrote: >> >>> Hi, >>> >>> After installing flexus, i followed the steps from >>> Flexus-Getting-started.pdf manual. Everything worked fine. Now i tried >>> changing the input program from "filter" application to "MyHelloWorld" >>> . I modified the prepare-test-app-x86.simics scripts to take >>> "MyHelloWorld" as the input program. But when i launch the simulation >>> using prepare-test-app script I get >>> >>> "./prepare-test-app: line 58: 2007 CPU time limit exceeded >>> $SIMICS_BASE/scripts/start-simics -x prepare-test-app-x86.simics >>> -no-win" error. After some hours of debugging, I found the issue to >>> be that "MyHelloWorld" is not accessible from the simulated machine. >>> Please tell me how to "copy" "MyHelloWorld" from host to simulated >>> machine. >>> >>> Thanks, >>> Venkat. >>> _______________________________________________ >>> SimFlex mailing list >>> [email protected] >>> https://sos.ece.cmu.edu/mailman/listinfo/simflex >>> SimFlex web page: http://www.ece.cmu.edu/~simflex >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://sos.ece.cmu.edu/pipermail/simflex/attachments/20081019/1f0e0968/attachment.html From evlachos at ece.cmu.edu Mon Oct 20 12:31:19 2008 From: evlachos at ece.cmu.edu (Evangelos Vlachos) List-Post: [email protected] Date: Mon Oct 20 12:31:34 2008 Subject: [Simflex] moving benchmarks from host machine to simulated machine In-Reply-To: <[email protected]> References: <[email protected]> <[email protected]> <[email protected]> <[email protected]> Message-ID: <[email protected]> Hi Venkat, you need to take a closer look on the structure of the test application provided with Flexus. - First, do what you have been doing so far, but modify the script to execute simics without the "no-win" parameter. You will see the terminal of the simulated machine booting the OS and hopefully running you hello_world. Then see when you get the error message. Is it after the end of your application? How far away? The error message is not related to Flexus, because on the first step of the checkpointing creation process you don't attach Flexus. - Second, check the source files of the test application. You will see that in various places there is a call to flexBkp_XXXXX depending on phase of the program. That is the warmup phase, the parallel phase, an iteration during the parallel phase and the end of the parallel phase. These calls are signs that Simics identifies and does some things, like saving a checkpoint. Specifically, at the end of prepare-test-app-x86.simics we register two 'hap' handlers. The one is called every time a magic instruction is executed and the other one every time the simulation is paused. The chain of events will be: the app executes a flexBkp_XXXXX(), which contains a magic instruction. This will trigger hap_magic_callback() in prepare-test-app-x86.simics:146. We will identify the kind of magic instruction and we will call the corresponding function (e.g., call_back_Warmup()). There we set some variables and we stop simulation by calling SIM_break_simulation(). Simics identifies this pause and calls hap_core_simulation_stopped_callback() which in this case will save a simics checkpoint and exit. That's the way you want to follow with your program. In your case, I guess hello_world executed and completed, without simics knowing anything about it. I don't know though why you get this error message. I guess it is some kind of timeout that simics has when it spends a lot of time on idle loops. In any case, try to do what I have described above and let us know if you have any other questions. Regards, Evangelos On Sun, 19 Oct 2008, Venkatanathan Annamalai wrote: > Hi Evangelos, > I have temporary solved this prblm by moving my source file to the simulated > machind and compiling it again there. So in my prepare-test-app-x86.simics I > have changed the code to "conf.con0.input = "mount /host;cp > /host/home/senthilv/flexus/flexus-3.0.0/flexus-test-app/hw.c .;gcc > hw.c;./a.out \n"" . When the script is executed I get the o/p as > > > [con0 info] Graphics subsystem not initialized > Keyboard 'kbd0' and video 'vga0' now connected to text-console 'con0'. > Display Updated > Pressing return > [pci_to_usb0 spec-viol] Write to constant field > usb_regs.port_status_control[0].RES (value written = 0x0, contents = 0x1). > End > Prompt reached > *./prepare-test-app: line 58: 12062 CPU time limit exceeded > $SIMICS_BASE/scripts/start-simics -x prepare-test-app-x86.simics -no-win* > Done! > > Do I have to change anything else to run my binary as test input ? Please > guide. > > Thanks, > Venkat. > > On Sun, Oct 19, 2008 at 11:53 AM, Venkatanathan Annamalai < > [email protected]> wrote: >> Hi Evangelos, >> Thanks for the info. I finally moved the files from host to >> simulated using "simicsfs|hostfs" filesystem. But now I am not able to >> execute my binary in the simulated machine. I get "cannot execute >> binary file" in the simulated machine. Is this due to >> cross-compilation problems of gcc ? >> >> host machine : amd64-linux >> simulated machine: x86-linux ( Fedora OS ) >> >> The source of my executable: >> #include <stdio.h> >> int main() >> { >> printf("hello world"); >> return 0; >> } >> >> Thanks, >> Venkat. >> >> On Thu, Oct 16, 2008 at 3:31 AM, Evangelos Vlachos <[email protected]> > wrote: >>> >>> >>> Hello Venkat, >>> >>> There are two ways to transfer data into the simulated machine. The first >>> one, which is the one we use in our scripts, is to generate a disk image >>> with the data you want to transfer and connect it to the simulated > machine. >>> When the simulated machine boots, it identifies the new disk and can >>> actually start using it. The problem with that approach is that you may > end >>> up spending a lot of time generating the disk image. If you decide to do > so, >>> you probably want to read chapter 7 of simics-user-guide-unix.pdf for >>> instractions. If you have already a disc image of the things you want to >>> transfer, then check out the scripts to see how we connect the disk image >>> that contains the flexus-test-app; that would be in >>> prepare-test-app-x86.simics: local $scsi_disk = (create-std-scsi-disk >>> "FLEXUS" scsi_id = 0 size = 18351872000 file = >>> "flexus-test-app-disk_x86.image"). There is a similar line for v9 > systems. >>> >>> The second approach would be to generate a cd-rom image with the data you >>> want to transfer, given that these don't exceed the cd-rom size. Read > pages >>> 76-77 of simics-user-guide-unix.pdf to see how to generate and insert the > cd >>> in the simulated system. Also (very important) read this chain of e-mails > so >>> you can avoid some of the problems that may come up. >>> https://sos.ece.cmu.edu/pipermail/simflex/2008-May/000421.html >>> >>> Please, let us know if you have any other questions. >>> >>> Regards, >>> Evangelos Vlachos >>> >>> On Wed, 15 Oct 2008, Venkatanathan Annamalai wrote: >>> >>>> Hi, >>>> >>>> After installing flexus, i followed the steps from >>>> Flexus-Getting-started.pdf manual. Everything worked fine. Now i tried >>>> changing the input program from "filter" application to "MyHelloWorld" >>>> . I modified the prepare-test-app-x86.simics scripts to take >>>> "MyHelloWorld" as the input program. But when i launch the simulation >>>> using prepare-test-app script I get >>>> >>>> "./prepare-test-app: line 58: 2007 CPU time limit exceeded >>>> $SIMICS_BASE/scripts/start-simics -x prepare-test-app-x86.simics >>>> -no-win" error. After some hours of debugging, I found the issue to >>>> be that "MyHelloWorld" is not accessible from the simulated machine. >>>> Please tell me how to "copy" "MyHelloWorld" from host to simulated >>>> machine. >>>> >>>> Thanks, >>>> Venkat. >>>> _______________________________________________ >>>> SimFlex mailing list >>>> [email protected] >>>> https://sos.ece.cmu.edu/mailman/listinfo/simflex >>>> SimFlex web page: http://www.ece.cmu.edu/~simflex >>>> >>> >> > From zebchuk at eecg.toronto.edu Wed Oct 22 18:55:51 2008 From: zebchuk at eecg.toronto.edu (Jason Zebchuk) List-Post: [email protected] Date: Wed Oct 22 18:56:07 2008 Subject: [Simflex] SimFlex on x86-64 Message-ID: <[email protected]> Hi guys, Do you have any experience trying to run simulations on 64-bit machines? I'm trying to take advantage of a larger memory space to speed up some of our simulations. Is there anything you know of that might cause problems with compiling and running Flexus on a 64-bit machine? Jason From anmol.tomar at epfl.ch Thu Oct 23 05:42:02 2008 From: anmol.tomar at epfl.ch (Anmol Tomar) List-Post: [email protected] Date: Thu Oct 23 05:41:54 2008 Subject: [Simflex] SimFlex on x86-64 In-Reply-To: <[email protected]> References: <[email protected]> Message-ID: <[email protected]> Hi, I have some experience with Flexus on a 64-bit machine. I had problems while starting to use flexus on an AMD with x86-64 architecture. Please refer to the mailing list messege from October 2007, with subject - "Possible AMD platform problem with test application in the Flexus-Getting-Started-2.1.1 guide" <https://sos.ece.cmu.edu/pipermail/simflex/2007-October/000375.html> Best, Anmol. Jason Zebchuk wrote: > Hi guys, > > Do you have any experience trying to run simulations on 64-bit machines? > I'm trying to take advantage of a larger memory space to speed up some > of our simulations. > > Is there anything you know of that might cause problems with compiling > and running Flexus on a 64-bit machine? > > > > Jason > _______________________________________________ > SimFlex mailing list > [email protected] > https://sos.ece.cmu.edu/mailman/listinfo/simflex > SimFlex web page: http://www.ece.cmu.edu/~simflex >
