bug-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gsl] gsl 2.1 test failures


From: Patrick Alken
Subject: Re: [Bug-gsl] gsl 2.1 test failures
Date: Wed, 2 Dec 2015 16:07:10 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0

I managed to compile in 32 bit mode using -m32 with gcc. I get a similar, but slightly different set of errors. Only multifit seems to have a problem.

Based on your output below, I'd recommend editing:

test_powell1.c
test_powell3.c

and increase the powell1_epsrel and powell3_epsrel parameters until the tests pass.

I don't have any immediate ideas on why the nonlinear least squares algorithms don't like 32 bit. I'll make a bug report to track this issue.

Patrick

On 12/02/2015 11:18 AM, Orion Poplawski wrote:
Any other thoughts here?  We're getting close to being able to build gsl 2.1
in Fedora, but this is still a hold up.  Thanks.

On 11/12/2015 02:01 PM, Orion Poplawski wrote:
Thanks for the quick response.  I can't speak to 2.0 as we never built that
version.

I start to see other test failures on x86_64 (and i386) if I start to tweak
those values though.  Are you sure that's the proper variable to tweak?  For
example:

diff -up gsl-2.1/multifit/test_nonlinear.c.tol gsl-2.1/multifit/test_nonlinear.c
--- gsl-2.1/multifit/test_nonlinear.c.tol       2015-11-03 09:21:55.000000000
-0700
+++ gsl-2.1/multifit/test_nonlinear.c   2015-11-12 13:41:48.290084641 -0700
@@ -175,8 +175,8 @@ static test_fdf_problem *test_fdf_nist[]
  static void
  test_nonlinear(void)
  {
-  const double xtol = pow(GSL_DBL_EPSILON, 0.9);
-  const double gtol = pow(GSL_DBL_EPSILON, 0.9);
+  const double xtol = pow(GSL_DBL_EPSILON, 0.9) * 10;
+  const double gtol = pow(GSL_DBL_EPSILON, 0.9) * 10;
    const double ftol = 0.0;
    size_t i, j;


leads to:

======================================
    gsl 2.1: multifit/test-suite.log
======================================

# TOTAL: 1
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  1
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: test
==========

FAIL: lmsder/scale=1/powell_singular i=0 (1.81652250744047584e-05 observed vs
0 expected) [190794]
FAIL: lmsder/scale=1/weights/powell_singular i=0 (1.81652250744047584e-05
observed vs 0 expected) [190800]
FAIL: ridge/lmsder/powell_singular i=0 (1.81652250744047584e-05 observed vs 0
expected) [190806]
FAIL: lmniel/scale=1/powell_badly_scaled i=0 (1.09815932976790051e-05 observed
vs 1.09815932969975976e-05 expected) [192849]
FAIL: lmniel/scale=1/powell_badly_scaled i=1 (9.10614673930196616 observed vs
9.10614673986700218 expected) [192850]
FAIL: lmniel/scale=1/weights/powell_badly_scaled i=0 (1.09815932976790051e-05
observed vs 1.09815932969975976e-05 expected) [192853]
FAIL: lmniel/scale=1/weights/powell_badly_scaled i=1 (9.10614673930196616
observed vs 9.10614673986700218 expected) [192854]
FAIL: lmsder/scale=1/powell_singular i=0 (1.81652250744047584e-05 observed vs
0 expected) [193519]
FAIL: lmsder/scale=1/weights/powell_singular i=0 (1.81652250744047584e-05
observed vs 0 expected) [193525]
FAIL: ridge/lmsder/powell_singular i=0 (1.81652250744047584e-05 observed vs 0
expected) [193531]


Perhaps something like lin2_epsrel instead?


On 11/12/2015 12:45 PM, Patrick Alken wrote:
Hello,

   It looks like the test tolerances are too tight for 32 bit - all of my
testing has been on 64 bit systems and I unfortunately don't have access to a
32 bit system to debug this. Just to verify, did you see these same failures
for version 2.0? That code didn't change at all between 2.0 and 2.1 but just
wanted to make sure.

The first thing I would try is to locate lines 178-179 of
multifit/test_nonlinear.c:

178   const double xtol = pow(GSL_DBL_EPSILON, 0.9);
179   const double gtol = pow(GSL_DBL_EPSILON, 0.9);

and increase these tolerances (set both them to 1.0e-3 as a starting point).
Could you let me know if the test passes with this change? Then it would
simply be a matter of finding a good value to get 32 bit tests to pass.

Patrick

On 11/12/2015 10:55 AM, Orion Poplawski wrote:
Looking at updating the Fedora gsl package to 2.1, but we're seeing test
failures on 32-bit builds:

FAIL: test
==========
FAIL: lmsder/scale=1/linear_rank1 did not converge, status=exceeded max number
of iterations [190252]
FAIL: lmsder/scale=1/weights/linear_rank1 did not converge, status=exceeded
max number of iterations [190255]
FAIL: ridge/lmsder/linear_rank1 did not converge, status=exceeded max number
of iterations [190258]
FAIL: lmsder/scale=10/linear_rank1 did not converge, status=exceeded max
number of iterations [190284]
FAIL: lmsder/scale=10/weights/linear_rank1 did not converge, status=exceeded
max number of iterations [190287]
FAIL: ridge/lmsder/linear_rank1 did not converge, status=exceeded max number
of iterations [190290]
FAIL: lmsder/scale=100/linear_rank1 did not converge, status=exceeded max
number of iterations [190316]
FAIL: lmsder/scale=100/weights/linear_rank1 did not converge, status=exceeded
max number of iterations [190319]
FAIL: ridge/lmsder/linear_rank1 did not converge, status=exceeded max number
of iterations [190322]
FAIL: lmsder/scale=1/linear_rank1zeros did not converge, status=exceeded max
number of iterations [190354]
FAIL: lmsder/scale=1/weights/linear_rank1zeros did not converge,
status=exceeded max number of iterations [190357]
FAIL: ridge/lmsder/linear_rank1zeros did not converge, status=exceeded max
number of iterations [190360]
FAIL: lmsder/scale=10/linear_rank1zeros did not converge, status=exceeded max
number of iterations [190396]
FAIL: lmsder/scale=10/weights/linear_rank1zeros did not converge,
status=exceeded max number of iterations [190399]
FAIL: ridge/lmsder/linear_rank1zeros did not converge, status=exceeded max
number of iterations [190402]
FAIL: lmsder/scale=100/linear_rank1zeros did not converge, status=exceeded max
number of iterations [190438]
FAIL: lmsder/scale=100/weights/linear_rank1zeros did not converge,
status=exceeded max number of iterations [190441]
FAIL: ridge/lmsder/linear_rank1zeros did not converge, status=exceeded max
number of iterations [190444]
FAIL: ridge/lmsder/lambda/helical did not converge, status=exceeded max number
of iterations [190657]
FAIL: ridge/lmsder/L/helical did not converge, status=exceeded max number of
iterations [190658]
FAIL: ridge/lmsder/helical ridge lambda=5 i=1 (-4.83804396442769695e-317
observed vs -4.83804396442769695e-317 expected) [test uses subnormal value]
[190660]
FAIL: ridge/lmsder/helical ridge lambda=5 i=2 (2.33809353535940645e-317
observed vs 2.33809353535940645e-317 expected) [test uses subnormal value]
[190661]
FAIL: ridge/lmsder/lambda/helical did not converge, status=exceeded max number
of iterations [190697]
FAIL: ridge/lmsder/L/helical did not converge, status=exceeded max number of
iterations [190698]
FAIL: ridge/lmsder/helical ridge lambda=5 i=1 (-4.83804396442769695e-317
observed vs -4.83804396442769695e-317 expected) [test uses subnormal value]
[190700]
FAIL: ridge/lmsder/helical ridge lambda=5 i=2 (2.33809353535940645e-317
observed vs 2.33809353535940645e-317 expected) [test uses subnormal value]
[190701]
FAIL: ridge/lmsder/lambda/helical did not converge, status=exceeded max number
of iterations [190737]
FAIL: ridge/lmsder/L/helical did not converge, status=exceeded max number of
iterations [190738]
FAIL: ridge/lmsder/helical ridge lambda=5 i=1 (-4.83804396442769695e-317
observed vs -4.83804396442769695e-317 expected) [test uses subnormal value]
[190740]
FAIL: ridge/lmsder/helical ridge lambda=5 i=2 (2.33809353535940645e-317
observed vs 2.33809353535940645e-317 expected) [test uses subnormal value]
[190741]
FAIL: ridge/lmsder/lambda/helical did not converge, status=exceeded max number
of iterations [190777]
FAIL: ridge/lmsder/L/helical did not converge, status=exceeded max number of
iterations [190778]
FAIL: ridge/lmsder/helical ridge lambda=5 i=1 (-4.83804396442769695e-317
observed vs -4.83804396442769695e-317 expected) [test uses subnormal value]
[190780]
FAIL: ridge/lmsder/helical ridge lambda=5 i=2 (2.33809353535940645e-317
observed vs 2.33809353535940645e-317 expected) [test uses subnormal value]
[190781]
FAIL: ridge/lmsder/lambda/helical did not converge, status=exceeded max number
of iterations [193074]
FAIL: ridge/lmsder/L/helical did not converge, status=exceeded max number of
iterations [193075]
FAIL: ridge/lmsder/helical ridge lambda=5 i=1 (-4.83804396442769695e-317
observed vs -4.83804396442769695e-317 expected) [test uses subnormal value]
[193077]
FAIL: ridge/lmsder/helical ridge lambda=5 i=2 (2.33809353535940645e-317
observed vs 2.33809353535940645e-317 expected) [test uses subnormal value]
[193078]
FAIL: ridge/lmsder/lambda/helical did not converge, status=exceeded max number
of iterations [193114]
FAIL: ridge/lmsder/L/helical did not converge, status=exceeded max number of
iterations [193115]
FAIL: ridge/lmsder/helical ridge lambda=5 i=1 (-4.83804396442769695e-317
observed vs -4.83804396442769695e-317 expected) [test uses subnormal value]
[193117]
FAIL: ridge/lmsder/helical ridge lambda=5 i=2 (2.33809353535940645e-317
observed vs 2.33809353535940645e-317 expected) [test uses subnormal value]
[193118]
FAIL: ridge/lmsder/lambda/helical did not converge, status=exceeded max number
of iterations [193154]
FAIL: ridge/lmsder/L/helical did not converge, status=exceeded max number of
iterations [193155]
FAIL: ridge/lmsder/helical ridge lambda=5 i=1 (-4.83804396442769695e-317
observed vs -4.83804396442769695e-317 expected) [test uses subnormal value]
[193157]
FAIL: ridge/lmsder/helical ridge lambda=5 i=2 (2.33809353535940645e-317
observed vs 2.33809353535940645e-317 expected) [test uses subnormal value]
[193158]
FAIL: ridge/lmsder/lambda/helical did not converge, status=exceeded max number
of iterations [193194]
FAIL: ridge/lmsder/L/helical did not converge, status=exceeded max number of
iterations [193195]
FAIL: ridge/lmsder/helical ridge lambda=5 i=1 (-4.83804396442769695e-317
observed vs -4.83804396442769695e-317 expected) [test uses subnormal value]
[193197]
FAIL: ridge/lmsder/helical ridge lambda=5 i=2 (2.33809353535940645e-317
observed vs 2.33809353535940645e-317 expected) [test uses subnormal value]
[193198]
FAIL: lmsder/scale=1/linear_rank1 did not converge, status=exceeded max number
of iterations [195842]
FAIL: lmsder/scale=1/weights/linear_rank1 did not converge, status=exceeded
max number of iterations [195845]
FAIL: ridge/lmsder/linear_rank1 did not converge, status=exceeded max number
of iterations [195848]
FAIL: lmsder/scale=10/linear_rank1 did not converge, status=exceeded max
number of iterations [195874]
FAIL: lmsder/scale=10/weights/linear_rank1 did not converge, status=exceeded
max number of iterations [195877]
FAIL: ridge/lmsder/linear_rank1 did not converge, status=exceeded max number
of iterations [195880]
FAIL: lmsder/scale=100/linear_rank1 did not converge, status=exceeded max
number of iterations [195906]
FAIL: lmsder/scale=100/weights/linear_rank1 did not converge, status=exceeded
max number of iterations [195909]
FAIL: ridge/lmsder/linear_rank1 did not converge, status=exceeded max number
of iterations [195912]
FAIL: lmsder/scale=1/linear_rank1zeros did not converge, status=exceeded max
number of iterations [195944]
FAIL: lmsder/scale=1/weights/linear_rank1zeros did not converge,
status=exceeded max number of iterations [195947]
FAIL: ridge/lmsder/linear_rank1zeros did not converge, status=exceeded max
number of iterations [195950]
FAIL: lmsder/scale=10/linear_rank1zeros did not converge, status=exceeded max
number of iterations [195986]
FAIL: lmsder/scale=10/weights/linear_rank1zeros did not converge,
status=exceeded max number of iterations [195989]
FAIL: ridge/lmsder/linear_rank1zeros did not converge, status=exceeded max
number of iterations [195992]
FAIL: lmsder/scale=100/linear_rank1zeros did not converge, status=exceeded max
number of iterations [196028]
FAIL: lmsder/scale=100/weights/linear_rank1zeros did not converge,
status=exceeded max number of iterations [196031]
FAIL: ridge/lmsder/linear_rank1zeros did not converge, status=exceeded max
number of iterations [196034]
FAIL: lmsder/scale=1/fdiff/nist-hahn1 did not converge, status=exceeded max
number of iterations [196260]
FAIL: lmsder/scale=1/fdiff/weights/nist-hahn1 did not converge,
status=exceeded max number of iterations [196276]
FAIL: lmder/scale=1/fdiff/nist-hahn1 did not converge, status=exceeded max
number of iterations [196292]
FAIL: lmder/scale=1/fdiff/weights/nist-hahn1 did not converge, status=exceeded
max number of iterations [196308]

Full build logs here:
https://copr-be.cloud.fedoraproject.org/results/orion/gsl2/fedora-23-i386/00139079-gsl/build.log.gz


Any ideas?







reply via email to

[Prev in Thread] Current Thread [Next in Thread]