Your patch solve the issue with opal_tree. The opal_lifo remains broken.

  George.


On Fri, Jan 16, 2015 at 5:12 AM, Gilles Gouaillardet <
gilles.gouaillar...@iferc.org> wrote:

>  George,
>
> i pushed
> https://github.com/open-mpi/ompi/commit/ac16970d21d21f529f1ec01ebe0520843227475b
> in order to get the intel compiler work with ompi
>
> Cheers,
>
> Gilles
>
>
> On 2015/01/16 17:29, Gilles Gouaillardet wrote:
>
> George,
>
> i was unable to reproduce the hang with icc 14.0.3.174 and greater on a
> RHEL6 like distro.
>
> i was able to reproduce the opal_tree failure and found two possible
> workarounds :
> a) manually compile opal/class/opal_tree.lo *without* the
> -finline-functions flag
> b) update deserialize_add_tree_item and declare curr_delim as volatile
> char * (see the patch below)
>
> this function is recursive, and the compiler could generate some
> incorrect code.
>
> Cheers,
>
> Gilles
>
> diff --git a/opal/class/opal_tree.c b/opal/class/opal_tree.c
> index e8964e0..492e8dc 100644
> --- a/opal/class/opal_tree.c
> +++ b/opal/class/opal_tree.c
> @@ -465,7 +465,7 @@ int opal_tree_serialize(opal_tree_item_t
> *start_item, opal_buffer_t *buffer)
>  static int deserialize_add_tree_item(opal_buffer_t *data,
>                                       opal_tree_item_t *parent_item,
>                                       opal_tree_item_deserialize_fn_t
> deserialize,
> -                                     char *curr_delim,
> +                                     volatile char *curr_delim,
>                                       int depth)
>  {
>      int idx = 1, rc;
>
> On 2015/01/16 8:57, George Bosilca wrote:
>
>  Today's trunk compiled with icc fails to complete the check on 2 tests:
> opal_lifo and opal_tree.
>
> For opal_tree the output is:
> OPAL dss:unpack: got type 9 when expecting type 3
>  Failure :  failed tree deserialization size compare
> SUPPORT: OMPI Test failed: opal_tree_t (1 of 12 failed)
>
> and opal_lifo gets stuck forever in the single threaded call to thread_test
> in a 128 bits atomic CAS. Unfortunately I lack the time to dig deep enough
> to see what is the root cause, but a quick look at the opal_config.h file
> indicates that our configure detects that __int128 is a supported type when
> it should not be.
>
>   George
>
> Open MPI git d13c14e configured with --enable-debug
> icc (ICC) 14.0.0 20130728
>
>
>
> _______________________________________________
> devel mailing listde...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: 
> http://www.open-mpi.org/community/lists/devel/2015/01/16789.php
>
>
>
> _______________________________________________
> devel mailing listde...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
> Link to this post: 
> http://www.open-mpi.org/community/lists/devel/2015/01/16790.php
>
>
>
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post:
> http://www.open-mpi.org/community/lists/devel/2015/01/16791.php
>

Reply via email to