numba: test case failure ( segmentation fault ) in ppc64le
Hi All,
I was trying to build numba on ubuntu/ppc64le. I have installed the required dependencies - llvmlite, numpy, funcsigs
Machine + other details.
# arch
ppc64le
# cat /etc/os-release
NAME="Ubuntu"
# llvm-config --version
4.0.1
# ls -l /usr/local/lib/python2.7/dist-packages/ | grep llvmlite
drwxr-sr-x 6 root staff 4096 Jul 5 15:53 llvmlite
drwxr-sr-x 2 root staff 4096 Jul 5 15:39 llvmlite-0.16.0+0.g964cf1d.dirty.egg-info
drwxr-sr-x 2 root staff 4096 Jul 5 15:53 llvmlite-0.19.0.dev0+22.g6ac74c8.egg-info
# ls -l /usr/local/lib/python2.7/dist-packages/ | grep numpy
drwxr-sr-x 16 root staff 4096 Jul 5 14:59 numpy
drwxr-sr-x 2 root staff 4096 Jul 5 14:59 numpy-1.13.0.dist-info
# ls -l /usr/local/lib/python2.7/dist-packages/ | grep funcsigs
drwxr-sr-x 4 root staff 4096 Jul 5 15:31 funcsigs-1.0.2-py2.7.egg
- Now facing below issue whilst building “numba”
# pip install -r requirements.txt
Requirement already satisfied: numpy>=1.7 in /usr/local/lib/python2.7/dist-packages (from -r requirements.txt (line 1))
Collecting llvmlite>=0.19 (from -r requirements.txt (line 3))
Could not find a version that satisfies the requirement llvmlite>=0.19 (from -r requirements.txt (line 3)) (from versions: 0.2.0, 0.2.1, 0.2.2, 0.4.0, 0.5.0, 0.6.0, 0.7.0, 0.8.0, 0.9.0, 0.10.0, 0.11.0, 0.12.0.1, 0.12.1, 0.13.0, 0.14.0, 0.15.0, 0.16.0, 0.17.0, 0.17.1, 0.18.0)
No matching distribution found for llvmlite>=0.19 (from -r requirements.txt (line 3))
Thereafter did the below change to ensure we check for correct llvm version tag in “requirements.txt”
llvmlite>=v0.19.0.dev
Guess the above changed is needed till it changes from 0.19.0.dev --> 0.19.0 as seen here : https://github.com/numba/llvmlite/tags
2 ) After above change , was able to successfully run the next build steps -
$ python setup.py build_ext --inplace
$ python setup.py install
Also numba does gets installed too as seen below
# ls -l /usr/local/lib/python2.7/dist-packages/ | grep numba
drwxr-sr-x 4 root staff 4096 Jul 6 14:24 numba-0.34.0rc1+0.g11ae5f1.dirty-py2.7-linux-ppc64le.egg
drwxr-sr-x 4 root staff 4096 Jul 5 15:31 numba-0.34.0rc1-py2.7-linux-ppc64le.egg
However when i am trying to run the test cases for numba , getting segmentation fault
a# python runtests.py -v
skipped CUDA tests
skipped CUDA tests
test_gufunc (numba.tests.npyufunc.test_gufunc.TestGUFunc) ... ok
test_guvectorize_decor (numba.tests.npyufunc.test_gufunc.TestGUFunc) ... ok
test_ufunc_like (numba.tests.npyufunc.test_gufunc.TestGUFunc) ... ok
test_gufunc (numba.tests.npyufunc.test_gufunc.TestGUFuncParallel) ... ok
test_guvectorize_decor (numba.tests.npyufunc.test_gufunc.TestGUFuncParallel) ... ok
test_ufunc_like (numba.tests.npyufunc.test_gufunc.TestGUFuncParallel) ... ok
test_ndim_mismatch (numba.tests.npyufunc.test_gufunc.TestGUVectorizeScalar) ... ok
test_scalar_input (numba.tests.npyufunc.test_gufunc.TestGUVectorizeScalar) ... ok
test_scalar_input_core_type (numba.tests.npyufunc.test_gufunc.TestGUVectorizeScalar) ... ok
test_scalar_input_core_type_error (numba.tests.npyufunc.test_gufunc.TestGUVectorizeScalar) ... ok
test_scalar_output (numba.tests.npyufunc.test_gufunc.TestGUVectorizeScalar) ... ok
test_ndim_mismatch (numba.tests.npyufunc.test_gufunc.TestGUVectorizeScalarParallel) ... ok
test_scalar_input (numba.tests.npyufunc.test_gufunc.TestGUVectorizeScalarParallel) ... ok
test_scalar_input_core_type (numba.tests.npyufunc.test_gufunc.TestGUVectorizeScalarParallel) ... ok
test_scalar_input_core_type_error (numba.tests.npyufunc.test_gufunc.TestGUVectorizeScalarParallel) ... ok
test_scalar_output (numba.tests.npyufunc.test_gufunc.TestGUVectorizeScalarParallel) ... ok
test_gil_reacquire_deadlock (numba.tests.npyufunc.test_parallel_ufunc_issues.TestParGUfuncIssues) ... Segmentation fault
Any pointers/inputs to resolve the test case failure and if change done in “requirements.txt” is correct ?
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 135 (75 by maintainers)
Commits related to this issue
- [RuntimeDyld][PowerPC] Use global entry points for calls between sections. Functions in different objects may use different TOCs, so calls between such functions should use the global entry point of ... — committed to llvm-mirror/llvm by lhames 6 years ago
- [RuntimeDyld][PowerPC] Use global entry points for calls between sections. Functions in different objects may use different TOCs, so calls between such functions should use the global entry point of ... — committed to jyknight/llvm-monorepo by lhames 6 years ago
- [RuntimeDyld][PowerPC] Use global entry points for calls between sections. Functions in different objects may use different TOCs, so calls between such functions should use the global entry point of ... — committed to earl/llvm-mirror by lhames 6 years ago
- Merging r329335, r329355, r329573: ------------------------------------------------------------------------ r329335 | lhames | 2018-04-05 12:37:05 -0700 (Thu, 05 Apr 2018) | 15 lines [RuntimeDyld][P... — committed to jyknight/llvm-monorepo by tstellar 6 years ago
- [BUILD] Upgrade to LLVM6 (#1010) * [BUILD] Upgrade to LLVM6 Includes: - Upgrade of LLVM to version 6.0.1 provided by dai-thirdparty-deps project - LVMlite upgrade - LLVM config path ... — committed to h2oai/datatable by mmalohlava 6 years ago
- [BUILD] Upgrade to LLVM6 (#1010) * [BUILD] Upgrade to LLVM6 Includes: - Upgrade of LLVM to version 6.0.1 provided by dai-thirdparty-deps project - LVMlite upgrade - LLVM config path ... — committed to h2oai/datatable by mmalohlava 6 years ago
- Merging r329335, r329355, r329573: ------------------------------------------------------------------------ r329335 | lhames | 2018-04-05 12:37:05 -0700 (Thu, 05 Apr 2018) | 15 lines [RuntimeDyld][P... — committed to llvm-git-prototype/llvm by tstellar 6 years ago
- Merging r329335, r329355, r329573: ------------------------------------------------------------------------ r329335 | lhames | 2018-04-05 12:37:05 -0700 (Thu, 05 Apr 2018) | 15 lines [RuntimeDyld][P... — committed to llvm-git-prototype/llvm by tstellar 6 years ago
- Merging r329335, r329355, r329573: ------------------------------------------------------------------------ r329335 | lhames | 2018-04-05 12:37:05 -0700 (Thu, 05 Apr 2018) | 15 lines [RuntimeDyld][P... — committed to ajohnson-uoregon/clang-rewrite-only by tstellar 6 years ago
I have opened a $2200 bounty for this issue to be fixed, assuming that this will allow numba to run and function correctly on PPC64LE Linux. https://www.bountysource.com/issues/46945452-test-case-failure-segmentation-fault-in-ppc64le
I have tested LLVM trunk against numba on power8 w/ CUDA GPUs. All numba CPU and GPU tests passed.
One quick suggestion, maybe: would it be possible to add
llvmlitefor PowerPC in the standardcondachannel (https://anaconda.org/numba/llvmlite)? I guess it would make it easier for potentially interested developers to investigate the problem.