-
-
Notifications
You must be signed in to change notification settings - Fork 10.9k
BUG: precision error when using jemalloc as memory allocator #27988
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
Comments
For Numpy and Python versions bellow all tests pass: Runtime: |
My suspicion would be that this is pretty harmless. The Either way, it also decides whether it is taken based on a memory overlap check, and that check was slightly wrong. Maybe I.e. you are basically running into: #26972 |
Thank you for the prompt reply @seberg. Anyway I guess you are right that it was fixed on #26972, as testing with a newer numpy version passed all tests. |
Closing then, since I don't think you are worried about the actual precision change, just the test failure observation. |
FWIW, Python 3.13 switched to |
I'm actually concerned about precision change, but I understood from your replies that precision wasn't affected significantly: "My suspicion would be that this is pretty harmless. " and it was more about an issue with the test suites, which newer releases (2.x) don't reproduce, maybe it was fixed, if I understood correctly. |
Yes, the precision might even be pretty much the same, just rounding off in a different direction (most likely the SIMD is very slightly worse, but depending on the math library I don't know). |
Describe the issue:
When testing numpy using jemalloc as memory allocator (for performance reasons), one test of numy.core.test fails (bellow) because of precision. When using Linux standard malloc, all tests pass (all of numpy.test)
Reproduce the code example:
Error message:
Python and NumPy Versions:
1.26.4
3.12.5 | packaged by conda-forge | (main, Aug 8 2024, 18:36:51) [GCC 12.4.0]
Runtime Environment:
[{'numpy_version': '1.26.4',
'python': '3.12.5 | packaged by conda-forge | (main, Aug 8 2024, 18:36:51) '
'[GCC 12.4.0]',
'uname': uname_result(system='Linux', node='***', release='5.15.167.4-microsoft-standard-WSL2', version='#1 SMP Tue Nov 5 00:21:55 UTC 2024', machine='x86_64')},
{'simd_extensions': {'baseline': ['SSE', 'SSE2', 'SSE3'],
'found': ['SSSE3',
'SSE41',
'POPCNT',
'SSE42',
'AVX',
'F16C',
'FMA3',
'AVX2',
'AVX512F',
'AVX512CD',
'AVX512_SKX',
'AVX512_CLX',
'AVX512_CNL',
'AVX512_ICL'],
'not_found': ['AVX512_KNL', 'AVX512_KNM', 'AVX512_SPR']}},
{'architecture': 'Cooperlake',
'filepath': '/home/pedro/miniconda3/envs/murilo/lib/libopenblasp-r0.3.28.so',
'internal_api': 'openblas',
'num_threads': 24,
'prefix': 'libopenblas',
'threading_layer': 'openmp',
'user_api': 'blas',
'version': '0.3.28'},
{'filepath': '/home/pedro/miniconda3/envs/murilo/lib/libomp.so',
'internal_api': 'openmp',
'num_threads': 24,
'prefix': 'libomp',
'user_api': 'openmp',
'version': None}]
Context for the issue:
for High Performance Computing jobs using jemalloc as memory allocator can decrease memory usage, allocate it faster and is recommended for usage with dask.
The text was updated successfully, but these errors were encountered: