Hi, Lisa, thanks for your reply. I must run my programs on FS mode, each
thread must be associated to a core and there will not be multiple threads
on one core. Is that the only way to distinguish different threads(software
thread) is through cpu_id or context_id ? If I change the thread_id to be
one of the two ids, then I can distinguish different threads, is that right?
Thank you!

Subject: Re: [m5-users] does M5 support SMT
>
>
> If you must do FS, then you can run a multi-threaded program on a CMP
> rather
> than an SMT platform.  You can use the set_affinity syscall to attach a
> particular thread to a particular core.  Search the archives, I'm sure it
> has been discussed before on the mailing list.
> Lisa
>
> On Wed, May 27, 2009 at 6:29 PM, Veydan Wu <[email protected]> wrote:
>
> > Thanks, Korey. But I must run my program on FS mode, some of my
> testbenches
> > fail to run on SE mode.
> >
> > Maybe running a multi-thread program on a single cpu core is my only
> > choice, but how to dinstinguish them against each other? Do you have any
> > idea about that? I think M5 run only one thread on one cpu core at a
> time,
> > as all the thread ID are 0.
> >
> >
> > > Hi all, does M5 support SMT system?
> >> Yes, you can run SMT in SE mode. Currently, more SMT regressions are
> >> being added to ensure functionality across the board. Check "se.py"
> >> for the correct command line.
> >>
> >> > Can I instansitate more functional unit
> >> > to support it?
> >> Sure, the same way you can add more functional units to O3CPU.
> >>
> >>
> >> --
> >> - Korey
> >>
> >>
>
> Subject: Re: [m5-users] a simple question about thread ID
>
> Sorry for the big delay in replying to this, I was just cleaning out my
> inbox and noticed this question.
> What you want is a context_id.  Theoretically, in an SMT system there are
> context_ids, which are unique across the system, and cpu_ids, which are
> unique to each core, and thread_ids, which are unique within a core.  So,
> if
> you have a 2-core 2-way SMT platform, you'd have cpu_id 0, 1, context_ids
> 0,
> 1, 2, 3, and cpu 0 would have thread 0 and thread 1, and cpu 1 would also
> have thread 0 and thread 1.
>
> If you are running in FS, there is no SMT support so all thread id's will
> be
> 0.  What you are looking for is context_id.
>
> Good luck,
> Lisa
>
> >
> > Hi all, I am running a multi-thread program on M5 under ALPHA-FS mode.
> When
> > I tried to get the thread ID, it always return 0, and I cannot
> distinguish
> > them between different threads.  I tried to get the thread ID
> > throught the function in thread_state structure, which is supposed to
> return
> > the thread ID.
> > My test program is implemented by POSIX thread library. Should I use the
> > function in the thread_state structure to get the thread ID ? Is those
> > functions supposed to return different thread ID? Sorry for such silly
> > question, but it really confuses me. Thanks!
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to