Hi, all,
since there are no objections I will commit the patch to trunk and 1.3
branch.
see also comments below.


2008/6/29 Ralph Castain <r...@lanl.gov>:

> I believe this would help reduce the confusion a great deal. While the
> current carto syntax is the expected for a mathematician, computer users and
> developers have a well-established definition for the term "node" that
> conflicts with that used in carto.
>
> Some thoughts to add:  in carto, do you want to create a definition for
> CORE as well as SOCKET? That way, someone could provide info down to either
> level of granularity. In our subsequent frameworks, we could assume that all
> cores in a socket have the same graph analysis unless the core was described
> separately.
>

For my best knowledge all cores on the same socket have same distance on the
graph, so I dont see any need to add more code and definitions for now.


>
>
> Likewise, you may want to support a NODE that describes connectivity
> between computing nodes. Again, one could assume that all sockets on the
> node share the same graph unless the socket was described separately – or
> perhaps allow someone to describe the graph for the socket to get to the
> edge of the node, and then let the node description handle comm between
> nodes.
>

Interesting idea, I suppose it can be implemented in the future.


>
>
> Up to you – I'm just trying to think of ways we could bring this closer to
> the topo description required in other modules elsewhere in the code to
> avoid having multiple files.
>
> Ralph
>




>
>
> On 6/29/08 7:44 AM, "Lenny Verkhovsky" <lenny.verkhov...@gmail.com> wrote:
>
>   Hi all,
> We have ambiquite definitions of "slot" in rankfile, hostfile and carto
> components.
> Since "slot" is well defined as a processor in the hostfile and rankfile (
> "slot" is defined as processing unit which can be processor number or
> socket:core pair ).
> I propose to change carto file syntax and make it more graph oriented. This
> won't have any effect on the code.
>
> In new carto syntax
>
> NODE will be changed to EDGE
> CONNECTION will be changed to BRANCH
> SLOT will be changed to SOCKET.
>
> Any comments are welcome.
> few words about carto can be found at
> https://svn.open-mpi.org/trac/ompi/wiki/OnHostTopologyDescription
>
>   Index: opal/mca/carto/file/help-opal-carto-file.txt
> ===================================================================
> --- opal/mca/carto/file/help-opal-carto-file.txt    (revision 18772)
> +++ opal/mca/carto/file/help-opal-carto-file.txt    (working copy)
> @@ -27,27 +27,27 @@
>  #
>  [expected node type]
> -File: %s line: %d expected node type (free string). received %s
> +File: %s line: %d expected Edge type (free string). received %s
>  #
>  [expected node name]
> -File: %s line: %d expected Node name (free string). received %s
> +File: %s line: %d expected Edge name (free string). received %s
>  #
>  [expected Connection]
> -File: %s line: %d expected Node connection (node name:weight). received %s
> +File: %s line: %d expected Edge branch (edge name:weight). received %s
>  #
>  [expected deceleration]
> -File: %s line: %d expected Node deceleration (NODE) or connection
> deceleration (CONNECTION). received %s
> +File: %s line: %d expected Edge declaration (EDGE) or branch declaration
> (BRANCH). received %s
>  #
>  [incorrect connection]
> -File: %s line: %d - %s - incorrect connection
> +File: %s line: %d - %s - incorrect branch
>  #
>  [vertex not found]
> -File: %s line: %d - Node %s is not in the graph
> +File: %s line: %d - Edge %s is not in the graph
>  #
>  [unknown token]
> Index: opal/mca/carto/file/carto_file_lex.l
> ===================================================================
> --- opal/mca/carto/file/carto_file_lex.l    (revision 18772)
> +++ opal/mca/carto/file/carto_file_lex.l    (working copy)
> @@ -80,13 +80,13 @@
>
> -NODE               { carto_file_value.sval = yytext;
> +EDGE               { carto_file_value.sval = yytext;
>                       return OPAL_CARTO_FILE_NODE_DECELERATION; }
> -CONNECTION         { carto_file_value.sval = yytext;
> +BRANCH             { carto_file_value.sval = yytext;
>                       return OPAL_CARTO_FILE_CONNECTION_DECELERATION; }
> -CON_BI_DIR         { carto_file_value.sval = yytext;
> +BRANCH_BI_DIR         { carto_file_value.sval = yytext;
>                       return OPAL_CARTO_FILE_BIDIRECTION_CONNECTION; }
>  [0-9]              { carto_file_value.ival = atol(yytext);
> Index: opal/mca/carto/file/carto_file.h
> ===================================================================
> --- opal/mca/carto/file/carto_file.h    (revision 18772)
> +++ opal/mca/carto/file/carto_file.h    (working copy)
> @@ -21,49 +21,49 @@
>  /**
>   * @file#this is a comment
>  # Node declaration   Node type (Free string)   Node name (Free string)
> -# (Reserve word)     (slot is a reserve word   (free string)
> -#                     for CPU slot)
> +# (Reserve word)     (socket is a reserve word   (free string)
> +#                     for CPU socket)
>  #=======================================================================
> -  NODE               Memory                    mem0
> -  NODE               Memory                    mem1
> -  NODE               Memory                    mem2
> -  NODE               Memory                    mem3
> +  EDGE               Memory                    mem0
> +  EDGE               Memory                    mem1
> +  EDGE               Memory                    mem2
> +  EDGE               Memory                    mem3
>  #
> -  NODE               slot                      slot0
> -  NODE               slot                      slot1
> -  NODE               slot                      slot2
> -  NODE               slot                      slot3
> +  EDGE               socket                      socket0
> +  EDGE               socket                      socket1
> +  EDGE               socket                      socket2
> +  EDGE               socket                      socket3
>  #
> -  NODE               Infiniband                mthca0
> -  NODE               Infiniband                mthca1
> +  EDGE               Infiniband                mthca0
> +  EDGE               Infiniband                mthca1
>  #
> -  NODE               Ethernet                  eth0
> -  NODE               Ethernet                  eth1
> +  EDGE               Ethernet                  eth0
> +  EDGE               Ethernet                  eth1
>  #
>  #
>  # Connection decleration  From node   To node:weight   To node:weight
>   ......
>  # (Reserve word)          (declered   (declered        (declered
>  #                          above)      above)           above)
>
>  
> #===============================================================================================
> -  CONNECTION              mem0        slot0:0
> -  CONNECTION              mem3        slot3:0
> +  BRANCH              mem0        socket0:0
> +  BRANCH              mem3        socket3:0
>  #
> -  CONNECTION              slot0       mem0:0           slot1:1
>           slot2:1 mthca0:1 eth0:1
> -  CONNECTION              slot1       slot0:1          slot3:1
> -  CONNECTION              slot2       slot1:1          slot3:1
> -  CONNECTION              slot3       mem3:0           slot1:1
>           slot2:1 mthca1:1 eth1:1
> +  BRANCH              socket0       mem0:0           socket1:1
>           socket2:1 mthca0:1 eth0:1
> +  BRANCH              socket1       socket0:1        socket3:1
> +  BRANCH              socket2       socket1:1        socket3:1
> +  BRANCH              socket3       mem3:0           socket1:1
>           socket2:1 mthca1:1 eth1:1
>  #
>  #
> -  CONNECTION              mthca0      slot0:1
> -  CONNECTION              mthca1      slot3:1
> +  BRANCH              mthca0      socket0:1
> +  BRANCH              mthca1      socket3:1
>  #
> -  CONNECTION              eth0        slot0:1
> -  CONNECTION              eth1        slot3:1
> +  BRANCH              eth0        socket0:1
> +  BRANCH              eth1        socket3:1
>  #Bi-Directional connection
>  #
> -  CON_BI_DIR              slot1       mem1:0
> -  CON_BI_DIR              slot2       mem2:0
> +  BRANCH_BI_DIR              socket1       mem1:0
> +  BRANCH_BI_DIR              socket2       mem2:0
>  #
>  # end of carto file.
> Index: opal/mca/carto/file/carto_file_module.c
> ===================================================================
> --- opal/mca/carto/file/carto_file_module.c (revision 18772)
> +++ opal/mca/carto/file/carto_file_module.c (working copy)
> @@ -171,7 +171,7 @@
>                  case OPAL_CARTO_FILE_NAME:
>                      node = (opal_carto_base_node_t
> *)malloc(sizeof(opal_carto_base_node_t));
>                      node->node_type = strdup(carto_file_value.sval);
> -                    if (0 == strcmp("slot",node->node_type)) {
> +                    if (0 == strcmp("socket",node->node_type)) {
>                          node->is_cpu = true;
>                      }
>                      else {
>
>
>
> ------------------------------
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
>
>
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>

Reply via email to