[Avida-SVN] r3423 - in development: . Avida.xcodeproj source/tools tests/bgs_dyn_mutrates_births/expected/data tests/bgs_dyn_mutrates_fit/expected/data tests/bgs_dyn_mutrates_rank/expected/data

brysonda at myxo.css.msu.edu brysonda at myxo.css.msu.edu
Wed Sep 23 12:29:30 PDT 2009


Author: brysonda
Date: 2009-09-23 15:29:30 -0400 (Wed, 23 Sep 2009)
New Revision: 3423

Modified:
   development/Avida.xcodeproj/project.pbxproj
   development/CMakeLists.txt
   development/source/tools/cDoubleSum.h
   development/tests/bgs_dyn_mutrates_births/expected/data/divide_mut.dat
   development/tests/bgs_dyn_mutrates_fit/expected/data/divide_mut.dat
   development/tests/bgs_dyn_mutrates_rank/expected/data/divide_mut.dat
Log:
Remove -ffast-math compiler argument.  This should eliminate test differences between ICC and GCC.   Strangely enough, this has actually provided a performance IMPROVEMENT (around 8%) for landscape analysis and has had no affect on run performance.

THIS WILL AFFECT CONSISTENCY.

Affected expected results have been updated accordingly.  Only minor differences in early values of Skewness and Kurtosis for divide mutation statistics seem to have been affected.

Modified: development/Avida.xcodeproj/project.pbxproj
===================================================================
--- development/Avida.xcodeproj/project.pbxproj	2009-09-23 18:33:59 UTC (rev 3422)
+++ development/Avida.xcodeproj/project.pbxproj	2009-09-23 19:29:30 UTC (rev 3423)
@@ -2488,7 +2488,6 @@
 				GCC_DYNAMIC_NO_PIC = YES;
 				GCC_ENABLE_SSE3_EXTENSIONS = YES;
 				GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES;
-				GCC_FAST_MATH = YES;
 				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
 				GCC_MODEL_TUNING = G5;
 				GCC_OPTIMIZATION_LEVEL = 3;
@@ -2593,7 +2592,6 @@
 				GCC_AUTO_VECTORIZATION = YES;
 				GCC_DYNAMIC_NO_PIC = YES;
 				GCC_ENABLE_SSE3_EXTENSIONS = YES;
-				GCC_FAST_MATH = YES;
 				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
 				GCC_MODEL_PPC64 = YES;
 				GCC_MODEL_TUNING = G5;
@@ -2644,7 +2642,6 @@
 				GCC_DEBUGGING_SYMBOLS = full;
 				GCC_DYNAMIC_NO_PIC = YES;
 				GCC_ENABLE_SSE3_EXTENSIONS = YES;
-				GCC_FAST_MATH = YES;
 				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
 				GCC_MODEL_TUNING = G5;
 				GCC_OPTIMIZATION_LEVEL = 3;
@@ -2779,7 +2776,6 @@
 				GCC_AUTO_VECTORIZATION = YES;
 				GCC_DYNAMIC_NO_PIC = YES;
 				GCC_ENABLE_SSE3_EXTENSIONS = YES;
-				GCC_FAST_MATH = YES;
 				GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
 				GCC_MODEL_TUNING = G5;
 				GCC_OPTIMIZATION_LEVEL = 3;

Modified: development/CMakeLists.txt
===================================================================
--- development/CMakeLists.txt	2009-09-23 18:33:59 UTC (rev 3422)
+++ development/CMakeLists.txt	2009-09-23 19:29:30 UTC (rev 3423)
@@ -39,14 +39,14 @@
 IF(UNIX)
   IF (CMAKE_CXX_COMPILER MATCHES ".*pathCC.*")
     SET(COMPILER_WARNING_FLAGS "")
-    SET(COMPILER_OPTIMIZATION_FLAGS "-ffast-math -fno-rtti -funroll-loops -fstrict-aliasing -OPT:Olimit=0")
+    SET(COMPILER_OPTIMIZATION_FLAGS "-fno-rtti -funroll-loops -fstrict-aliasing -OPT:Olimit=0")
   ELSE (CMAKE_CXX_COMPILER MATCHES ".*pathCC.*")
     IF (CMAKE_CXX_COMPILER MATCHES ".*icpc.*")
       SET(COMPILER_WARNING_FLAGS "")
       SET(COMPILER_OPTIMIZATION_FLAGS "")
     ELSE (CMAKE_CXX_COMPILER MATCHES ".*icpc.*")
       SET(COMPILER_WARNING_FLAGS "-Wextra -Wno-unknown-pragmas -Wno-trigraphs")
-      SET(COMPILER_OPTIMIZATION_FLAGS "-ffast-math -fno-rtti -funroll-loops -fstrict-aliasing -ftree-vectorize -fvisibility-inlines-hidden")
+      SET(COMPILER_OPTIMIZATION_FLAGS "-fno-rtti -funroll-loops -fstrict-aliasing -ftree-vectorize -fvisibility-inlines-hidden")
     ENDIF (CMAKE_CXX_COMPILER MATCHES ".*icpc.*")
   ENDIF (CMAKE_CXX_COMPILER MATCHES ".*pathCC.*")
 

Modified: development/source/tools/cDoubleSum.h
===================================================================
--- development/source/tools/cDoubleSum.h	2009-09-23 18:33:59 UTC (rev 3422)
+++ development/source/tools/cDoubleSum.h	2009-09-23 19:29:30 UTC (rev 3423)
@@ -54,19 +54,10 @@
   double S3()           const { return s3; }
   double S4()           const { return s4; }
 
-  double Average() const { return ( n > 0 ) ? (s1/n) : 0; }
-
-  double Variance() const { return ( n > 1 ) ?
-      (s2 - s1*s1/n) / (n-1) : INF_ERR; }
-    //n*(s2/n - s1/n*s1/n) / (n-1) : INF_ERR; }
+  double Average() const { return (n > 0.0) ? (s1 / n) : 0.0; }
+  double Variance() const { return (n > 1.0) ? (s2 - s1 * s1 / n) / (n - 1.0) : INF_ERR; }
   double StdDeviation() const { return sqrt(Variance()); }
-  double StdError()  const { return (n > 1) ?
-         sqrt(Variance()/n) : INF_ERR; }
-
-//      old formula, implemented by TCC, not sure how it relates to 
-//      the real Standard Error
-//       sqrt(s2 / (n * (n-1))) : INF_ERR; }
-
+  double StdError()  const { return (n > 1) ? sqrt(Variance() / n) : INF_ERR; }
   double Skewness() const;
   double Kurtosis() const;
   
@@ -77,7 +68,8 @@
   double Skw() const { return Skewness(); }
 
 
-  void Add(double value, double weight=1){
+  void Add(double value, double weight = 1.0)
+  {
     double w_val = value * weight;
     n += weight;
     s1 += w_val;
@@ -86,7 +78,8 @@
     s4 += w_val * w_val * w_val * w_val;
   }
 
-  void Subtract(double value, double weight=1){
+  void Subtract(double value, double weight = 1.0)
+  {
     double w_val = value * weight;
     n -= weight;
     s1 -= w_val;

Modified: development/tests/bgs_dyn_mutrates_births/expected/data/divide_mut.dat
===================================================================
--- development/tests/bgs_dyn_mutrates_births/expected/data/divide_mut.dat	2009-09-23 18:33:59 UTC (rev 3422)
+++ development/tests/bgs_dyn_mutrates_births/expected/data/divide_mut.dat	2009-09-23 19:29:30 UTC (rev 3423)
@@ -12,7 +12,7 @@
 # 10: Skew in log(divide mutation rate)
 # 11: Kurtosis in log(divide mutation rate)
 
-10 0.03 -7.81498e-18 nan -5.77222e-19 7.05247e-20 -3.50656 -3.31316e-13 nan -1.21953e-11 -1.09349e-10 
+10 0.03 -7.81498e-18 nan -5.77222e-19 7.02459e-20 -3.50656 -3.31316e-13 nan -1.22012e-11 -1.09254e-10 
 11 0.0299337 1.96675e-06 0.00140241 -5.82818e-08 1.73485e-09 -3.50749 0.00430262 0.0655943 -0.0198103 0.0912481 
 12 0.0267973 7.54339e-05 0.00868527 -1.58295e-06 4.00401e-08 -3.53608 0.102161 0.319626 -0.391871 1.60487 
 13 0.0159389 0.000180973 0.0134526 3.40234e-08 3.69213e-08 -3.65086 0.479241 0.692272 -1.71922 6.84398 

Modified: development/tests/bgs_dyn_mutrates_fit/expected/data/divide_mut.dat
===================================================================
--- development/tests/bgs_dyn_mutrates_fit/expected/data/divide_mut.dat	2009-09-23 18:33:59 UTC (rev 3422)
+++ development/tests/bgs_dyn_mutrates_fit/expected/data/divide_mut.dat	2009-09-23 19:29:30 UTC (rev 3423)
@@ -12,7 +12,7 @@
 # 10: Skew in log(divide mutation rate)
 # 11: Kurtosis in log(divide mutation rate)
 
-10 0.03 -7.81498e-18 nan -5.77222e-19 7.05247e-20 -3.50656 -3.31316e-13 nan -1.21953e-11 -1.09349e-10 
+10 0.03 -7.81498e-18 nan -5.77222e-19 7.02459e-20 -3.50656 -3.31316e-13 nan -1.22012e-11 -1.09254e-10 
 11 0.0299337 1.96675e-06 0.00140241 -5.82818e-08 1.73485e-09 -3.50749 0.00430262 0.0655943 -0.0198103 0.0912481 
 12 0.0267973 7.54339e-05 0.00868527 -1.58295e-06 4.00401e-08 -3.53608 0.102161 0.319626 -0.391871 1.60487 
 13 0.0159389 0.000180973 0.0134526 3.40234e-08 3.69213e-08 -3.65086 0.479241 0.692272 -1.71922 6.84398 

Modified: development/tests/bgs_dyn_mutrates_rank/expected/data/divide_mut.dat
===================================================================
--- development/tests/bgs_dyn_mutrates_rank/expected/data/divide_mut.dat	2009-09-23 18:33:59 UTC (rev 3422)
+++ development/tests/bgs_dyn_mutrates_rank/expected/data/divide_mut.dat	2009-09-23 19:29:30 UTC (rev 3423)
@@ -12,7 +12,7 @@
 # 10: Skew in log(divide mutation rate)
 # 11: Kurtosis in log(divide mutation rate)
 
-10 0.03 -7.81498e-18 nan -5.77222e-19 7.05247e-20 -3.50656 -3.31316e-13 nan -1.21953e-11 -1.09349e-10 
+10 0.03 -7.81498e-18 nan -5.77222e-19 7.02459e-20 -3.50656 -3.31316e-13 nan -1.22012e-11 -1.09254e-10 
 11 0.0299337 1.96675e-06 0.00140241 -5.82818e-08 1.73485e-09 -3.50749 0.00430262 0.0655943 -0.0198103 0.0912481 
 12 0.0267973 7.54339e-05 0.00868527 -1.58295e-06 4.00401e-08 -3.53608 0.102161 0.319626 -0.391871 1.60487 
 13 0.0159389 0.000180973 0.0134526 3.40234e-08 3.69213e-08 -3.65086 0.479241 0.692272 -1.71922 6.84398 




More information about the Avida-cvs mailing list