[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