Basic model of sniper

1,035 views
Skip to first unread message

Гергана Димова

unread,
Aug 4, 2012, 1:42:06 PM8/4/12
to snip...@googlegroups.com
Hello!

I asked you  a few days ago about scheduling and Wim was so kind to send me a patch! It doesn't seem to be working as I supposed, though.
So, what I get from the code is that TraceManager calls ThreadManager to schedule threads, but TraceManager might never be created.
Then again TraceManager only creates as many threads as there are apps (because of "traceinput/threads_to_start = 1"). This loop
for (UInt32 i = 0 ; i < m_num_apps ; i++ )
   {
      newThread(/*count*/m_app_thread_count_to_start[i], /*spawn*/false, i);
   }
does exactly this. Changing it to loop through the total_thread_count stalls execution, passing m_app_thread_count_requested instead of m_app_thread_count_to_start also results in a stall. Doing this would only return the id of the last app thread, but since we're not using it, it doesn't matter. It looks like this in the log(for the second case):
app_0.log 294059     [ 5393]  [ 0]  [barrier_sync_server.:  40]  Received 'SIM_BARRIER_WAIT' from Thread(0), Time(168750000)
app_*.log 223609     [ 5394]  [ 1]  [thread_manager.cc   : 108]  Hook manager[*]

And then in the system log there are some strange things happening, too:

150427     [ 5393]  [  ]  [thread_manager.cc   :  81]  onThreadStart(0)
150528     [ 5387]  [  ]  [pthread_thread.cc   :  25]  Creating thread at func: 0x45b8c0, arg: 0x2ad8ef0
184596     [ 5396]  [  ]  [thread_manager.cc   :  81]  onThreadStart(3)
196858     [ 5395]  [  ]  [thread_manager.cc   :  81]  onThreadStart(2)
209589     [ 5394]  [  ]  [thread_manager.cc   :  81]  onThreadStart(1)

I suspect these should be in order (they are when the simulator is working). It seems to be an issue with synchronization, but where should it be done..

So, my questions are: What's the difference between trace threads, core threads and sim threads?
Am I supposed to schedule trace threads only?

I realize it's a lengthy question and I don't expect you to write code for me. Maybe you could post a functional model and it will help me to fully grasp the concept.

Regards, Gergana


Wafa Benboubaker

unread,
Aug 4, 2012, 8:18:37 PM8/4/12
to snip...@googlegroups.com

Hi Гергана Димова
I'm sorry i want to ask you about the patch file which Wim sended to you because i want to schedule threads but unfortnately i didn't understand how to use the patch file can you help me and thanks a lot for reply .
2012/8/4 Гергана Димова <gergana...@gmail.com>



--
--
You received this message because you are subscribed to the Google
Groups "Sniper simulator" group.
To post to this group, send email to snip...@googlegroups.com
To unsubscribe from this group, send email to
snipersim+...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/snipersim?hl=en

Гергана Димова

unread,
Aug 5, 2012, 8:00:54 AM8/5/12
to snip...@googlegroups.com
Hi, Wafa!

It's quite easy. You need the patch tool. The you place your patch file in the sniper dir. Then do patch -p1 <patch_file_name>.

Regards, Gergana

Wafa Benboubaker

unread,
Aug 5, 2012, 9:12:36 AM8/5/12
to snip...@googlegroups.com
Hi,
Thanks for reply but  that it's not work.

2012/8/5 Гергана Димова <gergana...@gmail.com>
Hi, Wafa!

It's quite easy. You need the patch tool. The you place your patch file in the sniper dir. Then do patch -p1 <patch_file_name>.


Regards, Gergana

--

Wim Heirman

unread,
Aug 7, 2012, 6:04:36 AM8/7/12
to snip...@googlegroups.com
Hi Gergana,

TraceManager is always there (unless you're running a single
multi-threaded application with the Pin front-end). Initially it only
creates one TraceThread per application, but more are created as the
application is spawning threads. Each time this happens (i.e. a
TraceThread is created, including the initial one),
SchedulerStatic::threadCreate() is called. Can you confirm that you
are indeed seeing all expected calls of threadCreate()?

You should not try to create all TraceThreads initially, as then the
extra threads will stall as they don't see any instructions coming in
yet (as the corresponding thread in the application, running in the
trace recorder, isn't running yet). And since there is a barrier that
tries to keep all threads roughly synchronized to the same simulated
timestamp, if one thread is stalled, this stalls the entire simulator,
which is what you have been seeing.

Regarding trace, core and sim threads, these are threads internal to
the simulator, your scheduler only needs to care about threads of the
simulated application. Each application thread will cause one trace
thread to be spawned, which will read the thread's instructions from
the trace file (or pipe for multiple multi-threaded mode) and send
them to the timing models. The sim threads handle events on the
simulated network, such as invalidations. Core threads, if I recall
correctly, are not currently used but were an experiment to run the
core's timing models in separate threads (to expose more parallelism
and hopefully speed up the simulation). And finally, the one you
didn't find yet is the app thread, these are the ones doing the
functional execution when using the Pin frontend. All of these
cooperate in the simulation of a single application thread / simulated
core.

Regards,
Wim

Гергана Димова

unread,
Aug 7, 2012, 11:18:35 AM8/7/12
to snip...@googlegroups.com
Hello, Wim!

Thank you for your answer! I see now. It makes sense now. Trouble is, and this is what made me dig into the code, that SchedulerStatic::ThreadCreate is only called once, according to the log. Could you please tell me where additional threads are created? There it is:

53682      [ 7713]  [  ]  [scheduler_static.cc :  33]  Scheduler: thread 0 now scheduled to core 0
 
53696      [ 7713]  [  ]  [thread_manager.cc   :  66]  Inside thread create.
54398      [ 7713]  [  ]  [sim_thread_manager.c:  28]  Starting 4 threads.
54416      [ 7713]  [  ]  [sim_thread_manager.c:  37]  Starting thread 0
54424      [ 7713]  [  ]  [pthread_thread.cc   :  25]  Creating thread at func: 0x47fd10, arg: 0x290a468
54510      [ 7713]  [  ]  [sim_thread_manager.c:  37]  Starting thread 1
54524      [ 7713]  [  ]  [pthread_thread.cc   :  25]  Creating thread at func: 0x47fd10, arg: 0x290a478
54574      [ 7713]  [  ]  [sim_thread_manager.c:  37]  Starting thread 2
54587      [ 7713]  [  ]  [pthread_thread.cc   :  25]  Creating thread at func: 0x47fd10, arg: 0x290a488
54660      [ 7713]  [  ]  [sim_thread_manager.c:  37]  Starting thread 3
54673      [ 7713]  [  ]  [pthread_thread.cc   :  25]  Creating thread at func: 0x47fd10, arg: 0x290a498
54922      [ 7713]  [  ]  [sim_thread_manager.c:  48]  Threads started: 0.
135933     [ 7713]  [  ]  [simulator.cc        : 125]  End simulator ctor.
240939     [ 7713]  [  ]  [pthread_thread.cc   :  25]  Creating thread at func: 0x47fd10, arg: 0x2906940

Regards, Gergana

Wim Heirman

unread,
Aug 7, 2012, 11:27:22 AM8/7/12
to snip...@googlegroups.com
Hi Gergana,

Your log only runs until the end of the Simulator constructor (setup
phase, "End simulator ctor." message). Spawning extra threads only
happens much later, once the application being simulated spawns its
own helper threads using pthread_create() or clone(). Unless you are
simulating a single-threaded application that is, and then there will
be no extra calls to SchedulerStatic::threadCreate at all (although,
in a for multi-process mode, there should be one initial call for the
main thread of each simulated process).

Regards,
Wim

Гергана Димова

unread,
Aug 9, 2012, 5:09:28 AM8/9/12
to snip...@googlegroups.com
Hello, Wim!

So, it seems spawning a new thread later on is a call directly to pthread_create() and not to ThreadManager::threadCreate and thus the scheduler is never called. Does it make sense then to call threadCreate instead? Where in the code does this happen? Who calls pthread_create?

Regars, Gergana


04 август 2012, събота, 20:42:06 UTC+3, Гергана Димова написа:

Wim Heirman

unread,
Aug 9, 2012, 9:39:07 AM8/9/12
to snip...@googlegroups.com
Hi Gergana,

How are you starting Sniper exactly? Can you given an example command line?

Assuming the multiple-multithreaded applications scenario (so when
using benchmarks/run-sniper --benchmarks=...): The
application/benchmark executes pthread_create, or does a fork() system
call directly. The SIFT trace recorder intercepts these system calls,
and turns them into a special message that is sent to the simulator.
The SiftReader, when seeing them, calls
TraceThread::handleNewThreadFunc which in turn calls
TraceManager::newThread. This instantiates a new TraceThread, which
will handle the timing part of the newly started benchmark thread.
TraceManager::newThread also calls ThreadManager::createThread, which
registers the new application thread with the rest of the simulator --
this includes a call to Scheduler::threadCreate.

Regards,
Wim

Гергана Димова

unread,
Aug 13, 2012, 7:39:13 AM8/13/12
to snip...@googlegroups.com, wim.h...@elis.ugent.be
Hello, Wim!
There it is.

cd $BENCHMARKS_ROOT
./run-snuper  --benchmarks=.. 

I get the same results with different configurations - only the first thread is scheduled.

Regards, Gergana

Wim Heirman

unread,
Aug 13, 2012, 9:03:59 AM8/13/12
to snip...@googlegroups.com
Hi Gergana,

I just checked out a clean copy of Sniper and Benchmarks, and changed,
in SchedulerStatic::threadCreate, the LOG_PRINT into a printf (and
added a \n to the end of the format string). Then I ran the following
command line:

$BENCHMARKS_ROOT/run-sniper
--benchmarks=splash2-fft-test-4,splash2-radix-test-4 -n8 -cgainestown

In Sniper's output, which is in tracerecorder.out, I now see these lines:

Scheduler: thread 0 from application 0 now scheduled to core 0
Scheduler: thread 1 from application 1 now scheduled to core 1
[SNIPER] Enabling performance models
[...]
[TRACE:0] FFT with Blocking Transpose
[TRACE:1] Integer Radix Sort
[...]
[TRACE:1] [HOOKS] Entering ROI
Scheduler: thread 2 from application 1 now scheduled to core 2
Scheduler: thread 3 from application 1 now scheduled to core 3
Scheduler: thread 4 from application 1 now scheduled to core 4
[TRACE:0] [HOOKS] Entering ROI
Scheduler: thread 5 from application 0 now scheduled to core 5
Scheduler: thread 6 from application 0 now scheduled to core 6
Scheduler: thread 7 from application 0 now scheduled to core 7
[TRACE:7] -- DONE --

This shows that, at least in this case, Scheduler::threadCreate() is
being called for all 8 threads: 2 times for the initial main thread of
both applications, and once the applications each reach their parallel
section and spawn more threads, another 6 calls to
Scheduler::threadCreate() for each of the other threads.

Can you reproduce this test case, and if so what is different in the
run where you're not seeing all expected calls to
Scheduler::threadCreate?

Regards,
Wim

Гергана Димова

unread,
Aug 16, 2012, 4:38:12 AM8/16/12
to snip...@googlegroups.com
Hello, Wim!

It's just as you described it. I found the calls, seems I haven't been looking right in the logs when using LOG_PRINT. 
Anyway, I should focus on scheduling itself. Thank you for your time!

Regards, Gergana


04 август 2012, събота, 20:42:06 UTC+3, Гергана Димова написа:

Wafa Benboubaker

unread,
Aug 29, 2012, 6:34:10 PM8/29/12
to snip...@googlegroups.com
Hi,
excuse me for my interference but i would like to ask you some questions about your discussion:
how you get this result??
$BENCHMARKS_ROOT/run-sniper
--benchmarks=splash2-fft-test-
4,splash2-radix-test-4 -n8 -cgainestown

In Sniper's output, which is in tracerecorder.out, I now see these lines:

Scheduler: thread 0 from application 0 now scheduled to core 0
Scheduler: thread 1 from application 1 now scheduled to core 1
[SNIPER] Enabling performance models
[...]
[TRACE:0] FFT with Blocking Transpose
[TRACE:1] Integer Radix Sort
[...]
[TRACE:1] [HOOKS] Entering ROI
Scheduler: thread 2 from application 1 now scheduled to core 2
Scheduler: thread 3 from application 1 now scheduled to core 3
Scheduler: thread 4 from application 1 now scheduled to core 4
[TRACE:0] [HOOKS] Entering ROI
Scheduler: thread 5 from application 0 now scheduled to core 5
Scheduler: thread 6 from application 0 now scheduled to core 6
Scheduler: thread 7 from application 0 now scheduled to core 7
[TRACE:7] -- DONE --


2012/8/16 Гергана Димова <gergana...@gmail.com>

Wafa Benboubaker

unread,
Sep 6, 2012, 11:56:56 AM9/6/12
to snip...@googlegroups.com
Hi,
please Wim or Gergana
can you answer me please
how could i get this result
$BENCHMARKS_ROOT/run-sniper
--benchmarks=splash2-fft-test-
4,splash2-radix-test-4 -n8 -cgainestown

In Sniper's output, which is in tracerecorder.out, I now see these lines:

Scheduler: thread 0 from application 0 now scheduled to core 0
Scheduler: thread 1 from application 1 now scheduled to core 1
[SNIPER] Enabling performance models
[...]
[TRACE:0] FFT with Blocking Transpose
[TRACE:1] Integer Radix Sort
[...]
[TRACE:1] [HOOKS] Entering ROI
Scheduler: thread 2 from application 1 now scheduled to core 2
Scheduler: thread 3 from application 1 now scheduled to core 3
Scheduler: thread 4 from application 1 now scheduled to core 4
[TRACE:0] [HOOKS] Entering ROI
Scheduler: thread 5 from application 0 now scheduled to core 5
Scheduler: thread 6 from application 0 now scheduled to core 6
Scheduler: thread 7 from application 0 now scheduled to core 7
[TRACE:7] -- DONE --
i tried this command line but i have error


2012/8/30 Wafa Benboubaker <wafabenb...@gmail.com>

Wim Heirman

unread,
Sep 7, 2012, 4:55:24 AM9/7/12
to snip...@googlegroups.com
Hi Wafa,

This output is what should be expected. Can you copy the error message
you're seeing, or any other behavior which you think is wrong?

Regards,
Wim

Wafa Benboubaker

unread,
Sep 7, 2012, 5:15:11 AM9/7/12
to snip...@googlegroups.com
when i test the command line ./run-sniper --benchmarks=splash2-fft-test-4,splash2-radix-test-4 -n8 -cgainestown
i have this error:
option --benchmarks not recognized
Run benchmark under the Sniper simulator
Usage:
  ./run-sniper  -p <program>  -i <inputsize (test)> -n <nthreads (1)>  -m <machines (1)>  -d <outputdir (.)>  -c <config-file>  -r <sniper-root-dir>  -g <options>
Benchmarks:
  splash2:
    splash2-barnes splash2-cholesky splash2-fft splash2-fft_O0 splash2-fft_O1 splash2-fft_O2 splash2-fft_O3 splash2-fft_forever splash2-fft_rep2 splash2-fmm splash2-lu.cont splash2-lu.ncont splash2-ocean.cont splash2-ocean.ncont splash2-radiosity splash2-radix splash2-raytrace splash2-raytrace_opt splash2-volrend splash2-water.nsq splash2-water.sp splash2-barnes-scale splash2-fft-scale splash2-fmm-scale splash2-lu.cont-scale splash2-lu.ncont-scale splash2-ocean.cont-scale splash2-radix-scale splash2-water.nsq-scale
  parsec:
  
Traceback (most recent call last):
  File "./run-sniper", line 48, in <module>
    usage()
  File "./run-sniper", line 24, in usage
    print '   ', ' '.join('%s-%s' % (module.__name__, bm) for bm in module.allbenchmarks())
  File "/home/wafabenboubaker/sniper-3.04/benchmarks/parsec/__init__.py", line 13, in allbenchmarks
    benchmarks = subprocess.Popen([ '%(HOME)s/parsec-2.1/bin/parsecmgmt' % globals(), '-a', 'info' ], stdout = subprocess.PIPE).communicate()
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1239, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
thanks Wim for answer


2012/9/7 Wim Heirman <wim.h...@elis.ugent.be>

Wim Heirman

unread,
Sep 7, 2012, 5:20:51 AM9/7/12
to snip...@googlegroups.com
Hi Wafa,

Do you have the latest copy of the benchmarks distribution? Looks like
you still have an older one, which does not yet support --benchmarks.
You can download the current version at
http://snipersim.org/w/Download_Benchmarks

Regards,
Wim

Wafa Benboubaker

unread,
Sep 7, 2012, 5:27:18 AM9/7/12
to snip...@googlegroups.com
Thanks Wim i'll try the latest copy of benchmarks.

Wafa Benboubaker

unread,
Sep 28, 2012, 8:05:38 AM9/28/12
to snip...@googlegroups.com
Hi
I have downloded the last version of benchmarks and i have test this with the command line
 ./run-sniper --benchmarks=splash2-fft-test-4,splash2-radix-test-4 -n8 -cgainestown and i have this result and the
 terminal is stacked,please answer me what is the problem
[SPLASH] Benchmarks to run: radix

[SPLASH] [========== Running benchmark radix ==========]
[SPLASH] Setting up run directory: /tmp/tmpeKYJjD
[SPLASH] Running '/home/wafabenboubaker/sniper-3.07/record-trace -o /tmp/tmpuKpmER/run_benchmarks -e 1 -s 4 --  /home/wafabenboubaker/sniper-3.07/benchmarks/splash2/splash2/codes/kernels/radix/RADIX -n16384 -p4':
[SPLASH] [---------- Beginning of output ----------]
[SPLASH] Benchmarks to run: fft

[SPLASH] [========== Running benchmark fft ==========]
[SPLASH] Setting up run directory: /tmp/tmpsZ2FRO
[SPLASH] Running '/home/wafabenboubaker/sniper-3.07/record-trace -o /tmp/tmpuKpmER/run_benchmarks -e 1 -s 0 --  /home/wafabenboubaker/sniper-3.07/benchmarks/splash2/splash2/codes/kernels/fft/FFT -m10 -p4':
[SPLASH] [---------- Beginning of output ----------]
[SIFT_RECORDER] Running export LD_LIBRARY_PATH="/home/wafabenboubaker/sniper-3.07/pin_kit/ia32/runtime:$LD_LIBRARY_PATH"; /home/wafabenboubaker/sniper-3.07/pin_kit/ia32/bin/pinbin -mt -injection child -t /home/wafabenboubaker/sniper-3.07/sift/recorder/sift_recorder -f 0 -d 0 -b 0 -o /tmp/tmpuKpmER/run_benchmarks -e 1 -s 4 -- /home/wafabenboubaker/sniper-3.07/benchmarks/splash2/splash2/codes/kernels/radix/RADIX -n16384 -p4
[SIFT_RECORDER] Running export LD_LIBRARY_PATH="/home/wafabenboubaker/sniper-3.07/pin_kit/ia32/runtime:$LD_LIBRARY_PATH"; /home/wafabenboubaker/sniper-3.07/pin_kit/ia32/bin/pinbin -mt -injection child -t /home/wafabenboubaker/sniper-3.07/sift/recorder/sift_recorder -f 0 -d 0 -b 0 -o /tmp/tmpuKpmER/run_benchmarks -e 1 -s 0 -- /home/wafabenboubaker/sniper-3.07/benchmarks/splash2/splash2/codes/kernels/fft/FFT -m10 -p4
[SIFT_RECORDER:4] Output = [/tmp/tmpuKpmER/run_benchmarks.th4.sift]
[SIFT_RECORDER:[SIFT_RECORDER:4] Response = [/tmp/tmpuKpmER/run_benchmarks_response.th4.sift]
0] Output = [/tmp/tmpuKpmER/run_benchmarks.th0.sift]
[SIFT_RECORDER:0] Response = [/tmp/tmpuKpmER/run_benchmarks_response.th0.sift]


FFT with Blocking Transpose
Integer Radix Sort
   1024 Complex Doubles
   4 Processors
   65536 Cache lines
   16 Byte line size
   4096 Bytes per page

     16384 Keys
     4 Processors
     Radix = 1024
     Max key = 524288

[HOOKS] Entering ROI
[SIFT_RECORDER:5] Output = [/tmp/tmpuKpmER/run_benchmarks.th5.sift]
[SIFT_RECORDER:5] Response = [/tmp/tmpuKpmER/run_benchmarks_response.th5.sift]
[SIFT_RECORDER:6] Output = [/tmp/tmpuKpmER/run_benchmarks.th6.sift]
[SIFT_RECORDER:6] Response = [/tmp/tmpuKpmER/run_benchmarks_response.th6.sift]
[SIFT_RECORDER:7] Output = [/tmp/tmpuKpmER/run_benchmarks.th7.sift]
[SIFT_RECORDER:7] Response = [/tmp/tmpuKpmER/run_benchmarks_response.th7.sift]
[HOOKS] Entering ROI
[SIFT_RECORDER:1] Output = [/tmp/tmpuKpmER/run_benchmarks.th1.sift]
[SIFT_RECORDER:1] Response = [/tmp/tmpuKpmER/run_benchmarks_response.th1.sift]
[SIFT_RECORDER:2] Output = [/tmp/tmpuKpmER/run_benchmarks.th2.sift]
[SIFT_RECORDER:2] Response = [/tmp/tmpuKpmER/run_benchmarks_response.th2.sift]
[SIFT_RECORDER:3] Output = [/tmp/tmpuKpmER/run_benchmarks.th3.sift]
[SIFT_RECORDER:3] Response = [/tmp/tmpuKpmER/run_benchmarks_response.th3.sift]



2012/9/7 Wafa Benboubaker <wafabenb...@gmail.com>

Wafa Benboubaker

unread,
Oct 1, 2012, 9:01:55 AM10/1/12
to snip...@googlegroups.com
Hi WIM AND GERGANA
please i need your help why i don't have the same result that yoU get ?

Scheduler: thread 0 from application 0 now scheduled to core 0
Scheduler: thread 1 from application 1 now scheduled to core 1
[SNIPER] Enabling performance models
[...]
[TRACE:0] FFT with Blocking Transpose
[TRACE:1] Integer Radix Sort
[...]
[TRACE:1] [HOOKS] Entering ROI
Scheduler: thread 2 from application 1 now scheduled to core 2
Scheduler: thread 3 from application 1 now scheduled to core 3
Scheduler: thread 4 from application 1 now scheduled to core 4
[TRACE:0] [HOOKS] Entering ROI
Scheduler: thread 5 from application 0 now scheduled to core 5
Scheduler: thread 6 from application 0 now scheduled to core 6
Scheduler: thread 7 from application 0 now scheduled to core 7
[TRACE:7] -- DONE --

but what i get IS
./run-sniper --benchmarks=splash2-fft-test-4 -c gainestown
NOTICE: Using "/home/wafabenboubaker/sniper-3.07/benchmarks" as the BENCHMARKS_ROOT directory.
NOTICE: Using "/home/wafabenboubaker/sniper-3.07/benchmarks" as the BENCHMARKS_ROOT directory.

[SPLASH] Benchmarks to run: fft

[SPLASH] [========== Running benchmark fft ==========]
[SPLASH] Setting up run directory: /tmp/tmp9FKRsZ
[SPLASH] Running '/home/wafabenboubaker/sniper-3.07/record-trace -o /tmp/tmpw7L8A7/run_benchmarks -e 1 -s 0 --  /home/wafabenboubaker/sniper-3.07/benchmarks/splash2/splash2/codes/kernels/fft/FFT -m10 -p4':

[SPLASH] [---------- Beginning of output ----------]
[SIFT_RECORDER] Running export LD_LIBRARY_PATH="/home/wafabenboubaker/sniper-3.07/pin_kit/ia32/runtime:$LD_LIBRARY_PATH"; /home/wafabenboubaker/sniper-3.07/pin_kit/ia32/bin/pinbin -mt -injection child -t /home/wafabenboubaker/sniper-3.07/sift/recorder/sift_recorder -f 0 -d 0 -b 0 -o /tmp/tmpw7L8A7/run_benchmarks -e 1 -s 0 -- /home/wafabenboubaker/sniper-3.07/benchmarks/splash2/splash2/codes/kernels/fft/FFT -m10 -p4
[SIFT_RECORDER:0] Output = [/tmp/tmpw7L8A7/run_benchmarks.th0.sift]
[SIFT_RECORDER:0] Response = [/tmp/tmpw7L8A7/run_benchmarks_response.th0.sift]

FFT with Blocking Transpose

   1024 Complex Doubles
   4 Processors
   65536 Cache lines
   16 Byte line size
   4096 Bytes per page

[HOOKS] Entering ROI
[SIFT_RECORDER:1] Output = [/tmp/tmpw7L8A7/run_benchmarks.th1.sift]
[SIFT_RECORDER:1] Response = [/tmp/tmpw7L8A7/run_benchmarks_response.th1.sift]
[SIFT_RECORDER:2] Output = [/tmp/tmpw7L8A7/run_benchmarks.th2.sift]
[SIFT_RECORDER:2] Response = [/tmp/tmpw7L8A7/run_benchmarks_response.th2.sift]
[SIFT_RECORDER:3] Output = [/tmp/tmpw7L8A7/run_benchmarks.th3.sift]
[SIFT_RECORDER:3] Response = [/tmp/tmpw7L8A7/run_benchmarks_response.th3.sift]
WHAt IS the problem??

Wim Heirman

unread,
Oct 1, 2012, 3:44:36 PM10/1/12
to snip...@googlegroups.com
Hi Wafa,

When I try the same command lines on my machine it works as it should,
i.e. I see the same output as you but it then quickly (after less than
a second) continues the simulation to the end. Can you give me a
little bit more information so I can try to recreate the problem
you're seeing:

- the OS of your machine, 32-bit or 64-bit, version of Pin you're
using, version of GCC
- your machine type (processor model, number of cores, amount of memory)
- if you made any changes to Sniper or the benchmarks, the output of
"git diff" in both the sniper and benchmarks directories.

Also, just to be sure, can you do a "git pull; make clean; make" in
both sniper and benchmarks so you're definitely running the latest
versions of everything?

Finally, when you're running this simulation, can you start "top" in
another terminal and verify the whether the simulation is running, or
whether it's stuck not consuming any CPU (or maybe out of memory, or
...)

Regards,
Wim

Wafa Benboubaker

unread,
Oct 1, 2012, 6:54:19 PM10/1/12
to snip...@googlegroups.com
Hi wim
Os machine is 32 bits
Pin-2.12
gcc4
.6
THE PROCCE CORE 2 DUO
MEMORY 2GB
os ubunto 11.10

2012/10/1 Wim Heirman <wim.h...@elis.ugent.be>

Wim Heirman

unread,
Oct 5, 2012, 11:26:06 AM10/5/12
to snip...@googlegroups.com
Hi Wafa,

I just fixed a bug in the 32-bit version of Sniper, which should
hopefully resolve your problem. Can you apply the attached patch (save
the attachment, go into your sniper-3.07 directory, then run "patch
-p1 < place-where-you-stored-the.patch"), and rebuild Sniper to see if
this helps?

Regards,
Wim
sniper-multimulti-32bit-syscalls.patch

Wafa Benboubaker

unread,
Oct 9, 2012, 8:23:11 AM10/9/12
to snip...@googlegroups.com
hi,
i have a problem the command line patch that is not exist what shall i do?

2012/10/5 Wim Heirman <wim.h...@elis.ugent.be>

Wim Heirman

unread,
Oct 9, 2012, 8:25:26 AM10/9/12
to snip...@googlegroups.com
You'll have to install the "patch" utility first, you should be able
to do this on Ubuntu with the following command:

sudo apt-get install patch

Wafa Benboubaker

unread,
Oct 9, 2012, 9:51:09 AM10/9/12
to snip...@googlegroups.com
Hi,
 I met in the terminal patch -p1 /home/wafabenboubaker/sniper-3.07/sniper-multimulti-32bit-syscalls. patch but I get nothing it's stuck.should i rebuild sniper now.thanks for reply
2012/10/9 Wim Heirman <wim.h...@elis.ugent.be>

Trevor Carlson

unread,
Oct 9, 2012, 9:54:38 AM10/9/12
to snip...@googlegroups.com
Wafa,

    It looks like you might have forgotten the '<' symbol to redirect the file as input.  Instead, try:
$ cd /home/wafabenboubaker/sniper-3.07
$ patch -p1 < ./sniper-multimulti-32bit-syscalls.patch
Trevor

Wafa Benboubaker

unread,
Oct 9, 2012, 10:09:17 AM10/9/12
to snip...@googlegroups.com
i have tried this but i get patching file pin/lite/handle_syscalls.cc
patching file sift/recorder/sift_recorder.cc

2012/10/9 Trevor Carlson <Trevor....@elis.ugent.be>

Trevor Carlson

unread,
Oct 9, 2012, 10:20:33 AM10/9/12
to snip...@googlegroups.com
Wafa,

    Yes, if the patch has been applied successfully, then you should rebuild Sniper and try running your command again.

Trevor

Wafa Benboubaker

unread,
Oct 9, 2012, 10:28:01 AM10/9/12
to snip...@googlegroups.com
ok in the getting started you should extract pin into sniper/pin_kit but in the folder sniper  have the foder pin not pin_kit 

Toyin Ogedengbe

unread,
Dec 3, 2013, 5:23:05 AM12/3/13
to snip...@googlegroups.com
can you help with the building codes of numa architecture
Reply all
Reply to author
Forward
0 new messages