Accéder au contenu.
Menu Sympa

starpu-devel - [Starpu-devel] Worker Binding Problem

Objet : Developers list for StarPU

Archives de la liste

[Starpu-devel] Worker Binding Problem


Chronologique Discussions 
  • From: Berenger Bramas <berenger.bramas@inria.fr>
  • To: starpu-devel@lists.gforge.inria.fr
  • Subject: [Starpu-devel] Worker Binding Problem
  • Date: Wed, 9 Sep 2015 10:08:06 +0200 (CEST)
  • List-archive: <http://lists.gforge.inria.fr/pipermail/starpu-devel/>
  • List-id: "Developers list. For discussion of new features, code changes, etc." <starpu-devel.lists.gforge.inria.fr>

Hello,
I am currently working on the trunk (today version), and I suspect a binding problem.
I was first having a time difference between OpenMP and StarPU on very basic task and try to figure out where the difference is coming from.
I am doing the following:
barrier (to ensure the threads to work at the same time)
timer start
work (same independant work for all threads)
timer stop
 
With OpenMP I get:

[2]Done = 1.33276s 
[0]Done = 1.33637s 
[1]Done = 1.34328s 
[3]Done = 1.34851s 

 
 

With StarPU (I give one task per worker with a starpu_posix_barrier in it to ensure that the workers do their job concurrently) 

[3]Done = 1.49833s 
[2]Done = 1.50611s 
[1]Done = 1.5123s 
[0]Done = 1.51197s 

 
 

And when I look in details in the output I see: 

[starpu][_starpu_launch_drivers] initialising worker 0/4 
[starpu][_starpu_driver_start] worker 0x7f87d36c91c0 0 for dev 0 is ready on logical cpu 0 
[starpu][_starpu_driver_start] worker 0x7f87d36c91c0 0 cpuset start at 0 
[starpu][_starpu_memory_manager_set_global_memory_size] Global size for node 0 is 8265150464 
[starpu][_starpu_launch_drivers] initialising worker 1/4 
[starpu][_starpu_driver_start] worker 0x7f87d36c95c0 1 for dev 1 is ready on logical cpu 2 
[starpu][_starpu_driver_start] worker 0x7f87d36c95c0 1 cpuset start at 2 
[starpu][_starpu_launch_drivers] initialising worker 2/4 
[starpu][_starpu_driver_start] worker 0x7f87d36c99c0 2 for dev 2 is ready on logical cpu 
[starpu][_starpu_driver_start]
 worker 0x7f87d36c99c0 2 cpuset start at 
[starpu][_starpu_launch_drivers]
 initialising worker 3/4 
[starpu][_starpu_driver_start] worker 0x7f87d36c9dc0 3 for dev 3 is ready on logical cpu 2 

 
 

It looks like the processes are bind on the same cores? logical cpu 0 and 2.

Finally if I execute the same binary with: STARPU_WORKERS_CPUID="0 1 2 3" 

StarPU gives me the same performance as OpenMP: 

[1]Done = 1.3329s 
[3]Done = 1.33348s 
[2]Done = 1.34598s 
[0]Done = 1.3627s 


My processor is a: Intel® Core™ i7-4610M CPU @ 3.00GHz × 4

I use hwloc 1.10.


Thanks for your help.  

 


Bérenger Bramas

HiePACS Project

Tel (05 24 57) 40 76
INRIA BORDEAUX Sud Ouest





Archives gérées par MHonArc 2.6.19+.

Haut de le page