Hi Dibakar,

It is most likely because the threads are all getting mapped to the
same core. This happens, because the GOMP Affinity environment is
empty by default, and thus all scheduling is being handled by the
kernel.

Try Inserting this into your c program, and see what it prints out as
the environment variable.

  pPath = getenv ("GOMP_CPU_AFFINITY");
  if (pPath!=NULL)
    printf ("GOMP_CPU_AFFINITY is: %s\n",pPath);
  else {
    printf("GOMP_CPu__AFFINITY Not Set\n");
    putenv("GOMP_CPU_AFFINITY=0");
    pPath = getenv("GOMP_CPU_AFFINITY");
    printf ("GOMP_CPU_AFFINITY is: %s\n",pPath);
    //exit(1);
  }

If it is NULL, you can specify the GOMP_AFFINITY with the putenv()
command, as the following for example:

[0 1 2], so in this case, the OMP will map each thread to the
specified core number in order of starting from the left, and then
wrapping around.

So if you have 4 threads and 3 cores,

Thread 1 --> Core 0
Thread 2 --> Core 1
Thread 3 --> Core 2
Thread 4 --> Core 0

There are other ways to specify the argument for putenv, (I might not
have the correct syntax, but you can search the GOMP Manual or do a
quick google search).

Hope this helps.

Malek

On Wed, Sep 21, 2011 at 4:27 PM, Dibakar Gope <[email protected]> wrote:
> Hi All,
>
> I am trying to execute some multi-threaded rodinia (parallel) benchmarks in 
> Gem5 ALPHA FS mode. The rodinia benchmarks do have the OpenMP pragmas. I can 
> compile the rodinia benchmarks with required ALPHA cross compiler and updated 
> gcc version and eventually can launch them in gem5. So, in order to run the 
> benchmarks with 4 threads, I set the command line options (-n as 4).  However 
> I can see in the final stats.txt that the 4 cores are not dividing the 
> parallel portion of the benchmarks equally, and as a result one of the core 
> is executing almost the entire ROI region.
>
> So, is it the proper way to launch the multiple threads in gem5 by mentioning 
> that many cores in the command line?
>
> Thanks,
> Dibakar Gope
> PhD Student, UW-Madison
> _______________________________________________
> 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

Reply via email to