imasterRafa / phyml

Automatically exported from code.google.com/p/phyml
GNU General Public License v2.0
0 stars 0 forks source link

IBM XLC compiler optimization -O3 causes data corruption in the tree #6

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. POWER7 computer, build with IBM XLC compilers

2. Requires modification to "configure" script (attached) then build with -O3 
optimization 

CC='xlc_r' MPICC="mpcc" ARCH_flag="-q64 -qtune=pwr7 -qarch=pwr7" OPT_flag="-O3" 
 LDFLAGS="-lmpi_ibm  -lpoe -llapi -L/opt/ibmhpc/ppe.poe/lib64 
-L/opt/ibmhpc/lapi/lib/lapi64" ./configure --enable-mpi

With "-O3", if -qnohot is also added, this issue is not reproduced.

3. Run phyml-mpi
phyml-mpi -i examples/nucleic -b 100

What is the expected output? What do you see instead?
""
. Launch bootstrap analysis on the most likely tree...

. The bootstrap analysis will use 32 CPUs.

. Err: '' is not found in sequence data set
"""
and the program terminates prematurely.

What version of the product are you using? On what operating system?
20120412

Please provide any additional information below.

This happens during "Order_Tree_CSeq" call (from "Bootstrap_From_String") in 
utilities.c
All of tree->t_nodes[0...n_otu_tree]->name are empty (ie. "").
Confirmed Read_Tree() in Bootstrap_From_String returns "tree" with no node 
having a name. However each node tree->t_nodes[i] has tax=1 and num=i. 

tree->t_nodes[0]->name =  tax= 1 num=0
tree->t_nodes[1]->name =  tax= 1 num=1
tree->t_nodes[2]->name =  tax= 1 num=2
tree->t_nodes[3]->name =  tax= 1 num=3
tree->t_nodes[4]->name =  tax= 1 num=4
tree->t_nodes[5]->name =  tax= 1 num=5
tree->t_nodes[6]->name =  tax= 1 num=6
..

This suggests that "Copy_Tax_Names_To_Tip_Labels" was called even if Read_Tree 
called 
  tree = Make_Tree_From_Scratch(n_otu,NULL); 
with data=NULL

Original issue reported on code.google.com by sung....@nesi.org.nz on 21 Aug 2013 at 3:26

Attachments:

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
This issue is still occurring in 20130708.
...
. Checking for NNIs, optimizing five branches...
. Log likelihood of the current tree: -5415.796566.
. Launch bootstrap analysis on the most likely tree...
. The bootstrap analysis will use 32 CPUs.
== Taxon '' was not found in sequence file 
'/hpc/home/seb56/phyml/examples/nucleic'.

Original comment by sung....@nesi.org.nz on 21 Aug 2013 at 4:08

GoogleCodeExporter commented 8 years ago
Here is a patch for 20130708. I'll see what the problem is for 20120412 later 
on and post another patch if required.

Original comment by stephane.guindon on 21 Aug 2013 at 8:03

Attachments:

GoogleCodeExporter commented 8 years ago

The issue does not seem to affect 20120412 running on Ubuntu:

[...]

. Log likelihood of the current tree: -5415.797087.
. Launch bootstrap analysis on the most likely tree...
. The bootstrap analysis will use 2 CPUs.
. Non parametric bootstrap analysis 
  [....................]   20/ 100
  [....................]   40/ 100
  [....................]   60/ 100
  [....................]   80/ 100
  [....................]  100/ 100

. Printing the most likely tree in file 'nucleic_phyml_tree.txt'...

. Time used 0h17m41s

Original comment by stephane.guindon on 21 Aug 2013 at 8:31

GoogleCodeExporter commented 8 years ago
Thanks Stephane, I tried the patch, but it didn't fix the issue. 
It seems the root cause for 20130708 and 20120412 is the same. 
The name of every node in tree is "".

This issue only occurs when XLC is used  (ie. GCC -O3 is fine)

XLC version is 11.01. 
If you'd like to see the behaviour on POWER7, I can arrange a temporary account 
for you. Thanks

Original comment by sung....@nesi.org.nz on 21 Aug 2013 at 9:20

GoogleCodeExporter commented 8 years ago
Yes, a temporary account would be helpful.
Cheers,
-Stephane-

Original comment by stephane.guindon on 21 Aug 2013 at 9:14

GoogleCodeExporter commented 8 years ago
The change for this is done now.

Original comment by stephane.guindon on 26 Sep 2013 at 11:34