​
Thanks Jason
​.​

I think I should have been more specific in my question:
I understand how "LiveProcess" objects are created for each application and
how each single threaded workload is assigned to a
​
CPU. The loop in se.py that does the workload to
​
CPU assignments either expects the
​number​
of specified applications to be equal to the number of cores, or expects
only one application. In case of only one
​
application and if #CPUs
​
> 1
​,
it assigns the same app
​​
 to all cores
​ (line 237)​
.

To be clear this is the code excerpt I'm referring to:

​​
===============================
   233 for i in xrange(np):
   234     if options.smt:
   235         system.cpu[i].workload = multiprocesses
   236     elif len(multiprocesses) == 1:
   237         system.cpu[i].workload = multiprocesses[0]
   238     else:
   239         system.cpu[i].workload = multiprocesses[i]
​
===============================

First of all, how is line 237 not causing that np copies of
multiprocesses[0]
​ to run​ but instead just 1 runs
?

I'm trying to understand how I can create enough hardware context without
assigning a workload to all of them. I modified the loop to run just for
the number of given applications  by replacing "for i in xrange(np):" with
"for i in xrange(len(multiprocesses)):", but it throws an error
​ which I believe means I should somehow assign a workload to all CPUs​
:

​
===============================
fatal: Must specify at least one workload!
 @ tick 0
[create:build/ARM/cpu/o3/deriv.cc, line 48]
​
===============================

Hope my question is clear.

Thank
​
you
​
for your time.
Majid

On Sun, Nov 20, 2016 at 12:21 PM, Jason Lowe-Power <[email protected]>
wrote:

> Hi Majid,
>
> Yes. This is possible. To run multiple different processes, you can create
> multiple CPUs with multiple "LiveProcess" objects. For multi-threaded
> applications, I believe you need to have enough CPUs create (enough
> hardware contexts) and then link to m5threads instead of the pthreads
> library.
>
> Hopefully this will get your started down the right path.
>
> Jason
>
> On Fri, Nov 18, 2016 at 1:48 AM Majid Namaki Shoushtari <[email protected]>
> wrote:
>
>> I was wondering if there is a way to simulate
>> multiprogrammed/multithreaded workloads in SE mode?
>> Just to clarify: I mean running for example two programs that spawn 4
>> threads each.
>>
>> As I understand this is not possible with the current se.py script, but
>> is it theoretically possible to run such simulations in SE mode?
>> If yes, could you please give some hints on how to modify se.py
>> accordingly?
>>
>> Thanks,
>> Majid
>> _______________________________________________
>> gem5-users mailing list
>> [email protected]
>> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>
>
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
>



-- 
Majid Namaki Shoushtari
PhD Candidate
Department of Computer Science
University of California, Irvine
Irvine, CA 92697
[email protected]
http://www.ics.uci.edu/~anamakis
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to