ComputationalCryoEM / ASPIRE-Python

Algorithms for Single Particle Reconstruction
http://spr.math.princeton.edu
GNU General Public License v3.0
46 stars 21 forks source link

FLE Basis GPU tests #849

Open chris-langfield opened 1 year ago

chris-langfield commented 1 year ago

The current tests for the FLE Basis (#693) test combinations of size = 32, 33 and epsilons = 1e-4, 1e-7, 1e-10, 1e-14

For the case 1e-7 case, the cufinufft tests are failing to be within the desired precision. Specifically, the following tests fail

Moving onto Decaf to debug, we have the following output:

FAILED tests/test_FLEbasis2D.py::TestFLEBasis2D::testFastVDense_T[33-1e-07] - assert 1.0770913896475136e-07 < 1e-07
FAILED tests/test_FLEbasis2D.py::TestFLEBasis2D::testFastVDense[32-1e-07] - assert 8.535542528013261e-06 < 1e-07
FAILED tests/test_FLEbasis2D.py::TestFLEBasis2D::testFastVDense[33-1e-07] - assert 3.0947756503646876e-05 < 1e-07
FAILED tests/test_FLEbasis2D.py::TestFLEBasis2D::testEvaluateExpand[32-1e-07] - RuntimeError: Unable to converge!
FAILED tests/test_FLEbasis2D.py::TestFLEBasis2D::testEvaluateExpand[33-1e-07] - RuntimeError: Unable to converge!

Another run:

FAILED tests/test_FLEbasis2D.py::TestFLEBasis2D::testFastVDense_T[32-1e-07] - assert 1.2307842145582195e-06 < 1e-07
FAILED tests/test_FLEbasis2D.py::TestFLEBasis2D::testFastVDense_T[33-1e-07] - assert 3.27830082146523e-06 < 1e-07
FAILED tests/test_FLEbasis2D.py::TestFLEBasis2D::testFastVDense[32-1e-07] - assert 3.683104864109316e-07 < 1e-07
FAILED tests/test_FLEbasis2D.py::TestFLEBasis2D::testFastVDense[33-1e-07] - assert 7.962711500110564e-06 < 1e-07
FAILED tests/test_FLEbasis2D.py::TestFLEBasis2D::testEvaluateExpand[32-1e-07] - RuntimeError: Unable to converge!
FAILED tests/test_FLEbasis2D.py::TestFLEBasis2D::testEvaluateExpand[33-1e-07] - RuntimeError: Unable to converge!

The "Unable to converge" comes from the expand() method.

Clearly the tests are pretty close but drop out of the desired range non deterministically

janden commented 1 year ago

We should push this down one layer to see if it can be explained as a cufinufft bug (likely) and post it there.

garrettwrong commented 3 months ago

Its probably worth revisiting this and confirm if it is still an issue with the current release.

janden commented 3 months ago

Agreed.