Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare release 3.4.0. #49

Closed
jenskeiner opened this issue Aug 21, 2017 · 25 comments
Closed

Prepare release 3.4.0. #49

jenskeiner opened this issue Aug 21, 2017 · 25 comments
Assignees
Milestone

Comments

@jenskeiner
Copy link
Contributor

This task is to prepare release 3.4.0.

@jenskeiner jenskeiner self-assigned this Aug 21, 2017
@jenskeiner jenskeiner added this to the 3.4.0 milestone Aug 21, 2017
@ghisvail
Copy link
Contributor

So far, it looks like RC1 is doing fine on Debian. See the build logs for all supported architectures here.

@michaelquellmalz
Copy link
Member

Our calculation of epsilon fails in long double for powerpc and ppc64el and it seems like the testsuite did not run in this case. According to Wikipedia the PowerPC uses a double double implementation for long double, which seems to cause this problem: The the smallest representable number >1 is 1+2^-1074 but the significand consists of 106 bits. Thus, our current nfft_epsilon of 2^-1074 should be replaced by 2^-105 or something similar.

@michaelquellmalz
Copy link
Member

A quick and dirty fix might be to define NFFT_EPSILON=2^-105 if the calculated value is too small (e.g. <10^-40).

@jenskeiner
Copy link
Contributor Author

jenskeiner commented Sep 22, 2017 via email

@michaelquellmalz
Copy link
Member

That's right. ax_eps_calc failed because here epsilon coincides with the smallest positive number that is representable in double precision, so epsilon/2=0.

@jenskeiner
Copy link
Contributor Author

jenskeiner commented Sep 22, 2017 via email

@michaelquellmalz
Copy link
Member

Taking the length of the mantissa should be the better solution.

@jenskeiner
Copy link
Contributor Author

jenskeiner commented Sep 22, 2017 via email

@michaelquellmalz
Copy link
Member

We have created the tag 3.4.0-rc2.

@ghisvail Could you run the tests again for rc2 with enabled make check in all architectures?

@jenskeiner I still use the computation of epsilon you implemented in case it cannot get MAND_DIG from float.h. Maybe we should delete this and rely only on MANT_DIG.

@ghisvail
Copy link
Contributor

Quick question: is there something like a --disable-tests or --disable-check option which allows building the library without its test suite?

@jenskeiner
Copy link
Contributor Author

jenskeiner commented Sep 28, 2017 via email

@jenskeiner
Copy link
Contributor Author

jenskeiner commented Sep 28, 2017 via email

@ghisvail
Copy link
Contributor

@jenskeiner Nevermind. I am testing a build for rc2 now.

michaelquellmalz added a commit that referenced this issue Sep 28, 2017
@ghisvail
Copy link
Contributor

@michaelquellmalz
Copy link
Member

The unthreaded library did fairly well, it only missed one threshold a little (< 10%), so the threshold should be adjusted. But something is wrong in nfft_adjoint with Openmp: sometimes the error is between 0.2 and 1. Could there be a problem with the Openmp implementation for long double in PowerPC?

@tvolkmer
Copy link
Contributor

I would advise against disabling the checks, especially since we have a relative error of up to 1 in nfft_adjoint on ppc64el long double with OpenMP.

@ghisvail Is it possible to disable the long double version just for ppc64el? Otherwise, I suggest to disable the long double version for all architectures supported by Debian for now until we have solved the issue in one of the next releases.

By the way, I applied for access to the OpenPower Cloud by Unicamp and I am going to try to reproduce the errors there.

In the meantime, I propose to publish the release 3.4.0

@jenskeiner
Copy link
Contributor Author

jenskeiner commented Oct 16, 2017 via email

@michaelquellmalz
Copy link
Member

I also agree. I think we can release 3.4.0.

@ghisvail
Copy link
Contributor

I agree, let's accept the errors for now.

Fine with me.

@tvolkmer
Copy link
Contributor

I have access to the OpenPower Cloud now. Until now, I have not been able to reproduce the large errors with long double precision and OpenMP, which we observed on debomatic-ppc64el.debian.net

Besides, there is still a failure for long double precision and non-OpenMP in adjoint_direct on ppc64el due to a minor violation of a threshold which I'm going to fix.

@tvolkmer
Copy link
Contributor

There is a new release candidate nfft-3.4.0-rc3.

@ghisvail: If possible, would you please run the Debian builds again for this and especially on debomatic-ppc64el.debian.net?

@ghisvail
Copy link
Contributor

@jenskeiner
Copy link
Contributor Author

Ok, I'll cut the release now anyway. Thanks everybody for your contributions.

@ghisvail
Copy link
Contributor

So the plan is still to disable testing for long-double for powerpc architectures I suppose?

@tvolkmer
Copy link
Contributor

@ghisvail Thank you for running the tests.
If possible, I would recommend to disable building long-double for ppc64el.

In some test cases (multithreaded OpenMP), there is a relative error of 1, which clearly means that something is totally wrong there. However, I am not able to reproduce these problems on the OpenPower Cloud.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants