Re: [OMPI users] How to know which process is running on which core?

2010-09-24 Thread Jeff Squyres
I completely neglected to mention that you could also use hwloc (Hardware 
Locality), a small utility library for learning topology-kinds of things 
(including if you're bound, where you're bound, etc.).  Hwloc is a sub-project 
of Open MPI:

http://www.open-mpi.org/projects/hwloc/

Open MPI uses hwloc internally, but you could also link your application 
against hwloc and call its C functions to get information about your process' 
locality, etc.



On Sep 24, 2010, at 8:14 AM, Jeff Squyres wrote:

> On the OMPI SVN trunk, we have an "Open MPI extension" call named 
> OMPI_Affinity_str().  Below is an excerpt from the man page.  If this is 
> desirable, we can probably get it into 1.5.1.
> 
> -
> 
> NAME
>   OMPI_Affinity_str  -  Obtain  prettyprint strings of processor affinity
>   information for this process
> 
> 
> SYNTAX
> C Syntax
>   #include 
>   #include 
> 
>   int OMPI_Affinity_str(char ompi_bound[OMPI_AFFINITY_STRING_MAX],
> char current_binding[OMPI_AFFINITY_STRING_MAX],
> char exists[OMPI_AFFINITY_STRING_MAX])
> 
> [snip]
> OUTPUT PARAMETERS
>   ompi_bound
> A prettyprint string describing what  processor(s)  Open  MPI
> bound  this  process to, or a string indicating that Open MPI
> did not bind this process.
> 
>   current_binding
> A  prettyprint  string  describing  what  processor(s)   this
> process  is  currently  bound to, or a string indicating that
> the process is bound to  all  available  processors  (and  is
> therefore considered "unbound").
> 
>   existsA  prettyprint  string  describing  the available sockets and
> cores on this host.
> 
> 
> 
> 
> On Sep 23, 2010, at 11:10 PM, Ralph Castain wrote:
> 
>> You mean via an API of some kind? Not through an MPI call, but you can do it 
>> (though your code will wind up OMPI-specific). Look at the OMPI source code 
>> in opal/mca/paffinity/paffinity.h and you'll see the necessary calls as well 
>> as some macros to help parse the results.
>> 
>> Depending upon what version you are using, there may also be a function in 
>> opal/mca/paffinity/base/base.h to pretty-print that info for you. I believe 
>> it may only be in the developer's trunk right now, or it may have made it 
>> into the 1.5.0 release candidate
>> 
>> 
>> On Thu, Sep 23, 2010 at 11:24 AM, Fernando Saez  
>> wrote:
>> Hi all, I'm new in the list. I don't know if this post has been treated 
>> before.
>> 
>> My question is:
>> 
>> Is there a way in the OMPI library to report which process is running
>> on which core in a SMP system? I need to know processor affinity for 
>> optimizations issues.
>> 
>> Regards
>> 
>> Fernando Saez
>> 
>> 
>> 
>> ___
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> ___
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> 
> -- 
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> 
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [OMPI users] How to know which process is running on which core?

2010-09-24 Thread Jeff Squyres
On the OMPI SVN trunk, we have an "Open MPI extension" call named 
OMPI_Affinity_str().  Below is an excerpt from the man page.  If this is 
desirable, we can probably get it into 1.5.1.

-

NAME
   OMPI_Affinity_str  -  Obtain  prettyprint strings of processor affinity
   information for this process


SYNTAX
C Syntax
   #include 
   #include 

   int OMPI_Affinity_str(char ompi_bound[OMPI_AFFINITY_STRING_MAX],
 char current_binding[OMPI_AFFINITY_STRING_MAX],
 char exists[OMPI_AFFINITY_STRING_MAX])

[snip]
OUTPUT PARAMETERS
   ompi_bound
 A prettyprint string describing what  processor(s)  Open  MPI
 bound  this  process to, or a string indicating that Open MPI
 did not bind this process.

   current_binding
 A  prettyprint  string  describing  what  processor(s)   this
 process  is  currently  bound to, or a string indicating that
 the process is bound to  all  available  processors  (and  is
 therefore considered "unbound").

   existsA  prettyprint  string  describing  the available sockets and
 cores on this host.




On Sep 23, 2010, at 11:10 PM, Ralph Castain wrote:

> You mean via an API of some kind? Not through an MPI call, but you can do it 
> (though your code will wind up OMPI-specific). Look at the OMPI source code 
> in opal/mca/paffinity/paffinity.h and you'll see the necessary calls as well 
> as some macros to help parse the results.
> 
> Depending upon what version you are using, there may also be a function in 
> opal/mca/paffinity/base/base.h to pretty-print that info for you. I believe 
> it may only be in the developer's trunk right now, or it may have made it 
> into the 1.5.0 release candidate
> 
> 
> On Thu, Sep 23, 2010 at 11:24 AM, Fernando Saez  
> wrote:
> Hi all, I'm new in the list. I don't know if this post has been treated 
> before.
> 
> My question is:
> 
> Is there a way in the OMPI library to report which process is running
> on which core in a SMP system? I need to know processor affinity for 
> optimizations issues.
> 
> Regards
> 
> Fernando Saez
> 
> 
> 
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/




Re: [OMPI users] How to know which process is running on which core?

2010-09-24 Thread Ralph Castain
You mean via an API of some kind? Not through an MPI call, but you can do it
(though your code will wind up OMPI-specific). Look at the OMPI source code
in opal/mca/paffinity/paffinity.h and you'll see the necessary calls as well
as some macros to help parse the results.

Depending upon what version you are using, there may also be a function in
opal/mca/paffinity/base/base.h to pretty-print that info for you. I believe
it may only be in the developer's trunk right now, or it may have made it
into the 1.5.0 release candidate


On Thu, Sep 23, 2010 at 11:24 AM, Fernando Saez wrote:

> Hi all, I'm new in the list. I don't know if this post has been treated
> before.
>
> My question is:
>
> Is there a way in the OMPI library to report which process is running
> on which core in a SMP system? I need to know processor affinity for
> optimizations issues.
>
> Regards
>
> Fernando Saez
>
>
>
> ___
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>


[OMPI users] How to know which process is running on which core?

2010-09-23 Thread Fernando Saez
Hi all, I'm new in the list. I don't know if this post has been treated
before.

My question is:

Is there a way in the OMPI library to report which process is running
on which core in a SMP system? I need to know processor affinity for
optimizations issues.

Regards

Fernando Saez