lmcinnes / pynndescent

A Python nearest neighbor descent for approximate nearest neighbors
BSD 2-Clause "Simplified" License
897 stars 105 forks source link

pynndescent might break with next numba release #235

Closed Zethson closed 9 months ago

Zethson commented 10 months ago

Hi,

I am testing some of my packages with pre-release versions of numba. I'm now getting the errors:

FAILED tests/tools/test_mixscape.py::TestMixscape::test_perturbation_signature - numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend) Failed in nopython mode pipeline (step: nopython frontend) Internal error at <numba.core.typeinfer.CallConstraint object at 0x7fdd4263d290>. Failed in nopython mode pipeline (step: parfor prelowering) 'NoneType' object has no attribute 'name' During: resolving callee type: type(CPUDispatcher(<function apply_graph_updates_low_memory at 0x7fdd4c50dd00>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/sparse_nndescent.py (218)

Enable logging at debug level for details.

File "../../../../../opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/sparse_nndescent.py", line 218: def nn_descent_internal_low_memory_parallel(

        c += apply_graph_updates_low_memory(current_graph, updates, n_threads)
        ^

During: resolving callee type: type(CPUDispatcher(<function nn_descent_internal_low_memory_parallel at 0x7fdd7c77aca0>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/sparse_nndescent.py (318)

During: resolving callee type: type(CPUDispatcher(<function nn_descent_internal_low_memory_parallel at 0x7fdd7c77aca0>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/sparse_nndescent.py (318)

File "../../../../../opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/sparse_nndescent.py", line 318: def nn_descent(

if low_memory:
    nn_descent_internal_low_memory_parallel(
    ^

FAILED tests/tools/test_mixscape.py::TestMixscape::test_lda - numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend) Failed in nopython mode pipeline (step: nopython frontend) Failed in nopython mode pipeline (step: nopython frontend) Internal error at <numba.core.typeinfer.CallConstraint object at 0x7fdd7f687dd0>. Failed in nopython mode pipeline (step: parfor prelowering) 'NoneType' object has no attribute 'name' During: resolving callee type: type(CPUDispatcher(<function apply_graph_updates_lowmemory at 0x7fdd4c50dd00>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent.py (228)

Enable logging at debug level for details.

File "../../../../../opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent_.py", line 228: def process_candidates(

    c += apply_graph_updates_low_memory(current_graph, updates, n_threads)
    ^

During: resolving callee type: type(CPUDispatcher(<function processcandidates at 0x7fdcf1e01440>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent.py (258)

During: resolving callee type: type(CPUDispatcher(<function processcandidates at 0x7fdcf1e01440>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent.py (258)

File "../../../../../opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent_.py", line 258: def nn_descent_internal_low_memory_parallel(

    c = process_candidates(
    ^

During: resolving callee type: type(CPUDispatcher(<function nn_descent_internal_low_memoryparallel at 0x7fdcf1e01940>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent.py (358)

During: resolving callee type: type(CPUDispatcher(<function nn_descent_internal_low_memoryparallel at 0x7fdcf1e01940>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent.py (358)

File "../../../../../opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent_.py", line 358: def nn_descent(

if low_memory:
    nn_descent_internal_low_memory_parallel(
    ^

pip install --pre numba installs the pre-release version

lmcinnes commented 10 months ago

Thanks for the warning. I'll try to look into it.

On Sun, Jan 14, 2024 at 11:00 AM Lukas Heumos @.***> wrote:

Hi,

I am testing some of my packages with pre-release versions of numba. I'm now getting the errors:

FAILED tests/tools/test_mixscape.py::TestMixscape::test_perturbation_signature - numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend) Failed in nopython mode pipeline (step: nopython frontend) Internal error at <numba.core.typeinfer.CallConstraint object at 0x7fdd4263d290>. Failed in nopython mode pipeline (step: parfor prelowering) 'NoneType' object has no attribute 'name' During: resolving callee type: type(CPUDispatcher(<function apply_graph_updates_low_memory at 0x7fdd4c50dd00>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/sparse_nndescent.py (218)

Enable logging at debug level for details.

File "../../../../../opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/sparse_nndescent.py", line 218: def nn_descent_internal_low_memory_parallel(

    c += apply_graph_updates_low_memory(current_graph, updates, n_threads)
    ^

During: resolving callee type: type(CPUDispatcher(<function nn_descent_internal_low_memory_parallel at 0x7fdd7c77aca0>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/sparse_nndescent.py (318)

During: resolving callee type: type(CPUDispatcher(<function nn_descent_internal_low_memory_parallel at 0x7fdd7c77aca0>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/sparse_nndescent.py (318)

File "../../../../../opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/sparse_nndescent.py", line 318: def nn_descent(

if low_memory: nn_descent_internal_low_memory_parallel( ^ FAILED tests/tools/test_mixscape.py::TestMixscape::test_lda - numba.core.errors.TypingError: Failed in nopython mode pipeline (step: nopython frontend) Failed in nopython mode pipeline (step: nopython frontend) Failed in nopython mode pipeline (step: nopython frontend) Internal error at <numba.core.typeinfer.CallConstraint object at 0x7fdd7f687dd0>. Failed in nopython mode pipeline (step: parfor prelowering) 'NoneType' object has no attribute 'name' During: resolving callee type: type(CPUDispatcher(<function apply_graph_updates_lowmemory at 0x7fdd4c50dd00>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent.py (228)

Enable logging at debug level for details.

File "../../../../../opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent_.py", line 228: def process_candidates(

c += apply_graph_updates_low_memory(current_graph, updates, n_threads)
^

During: resolving callee type: type(CPUDispatcher(<function processcandidates at 0x7fdcf1e01440>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent.py (258)

During: resolving callee type: type(CPUDispatcher(<function processcandidates at 0x7fdcf1e01440>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent.py (258)

File "../../../../../opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent_.py", line 258: def nn_descent_internal_low_memory_parallel(

c = process_candidates(
^

During: resolving callee type: type(CPUDispatcher(<function nn_descent_internal_low_memoryparallel at 0x7fdcf1e01940>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent.py (358)

During: resolving callee type: type(CPUDispatcher(<function nn_descent_internal_low_memoryparallel at 0x7fdcf1e01940>)) During: typing of call at /opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent.py (358)

File "../../../../../opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/pynndescent/pynndescent_.py", line 358: def nn_descent(

if low_memory: nn_descent_internal_low_memory_parallel( ^

pip install --pre numba installs the pre-release version

— Reply to this email directly, view it on GitHub https://github.com/lmcinnes/pynndescent/issues/235, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC3IUBMAGTNQLBX75NTRVXDYOP6IZAVCNFSM6AAAAABB2GEC7CVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA4DANZYGUZTSOA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

theAeon commented 9 months ago

https://github.com/numba/numba/pull/9407

apparently a bug in numba. will be fixed in the release build.

lmcinnes commented 9 months ago

So the short answer is that the numba team is awesome, and they found and fixed the bug that was causing this. Everything should work for the 0.59 release of numba.