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

  1. 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

Most upvoted comments

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 llvmlite for PowerPC in the standard conda channel (https://anaconda.org/numba/llvmlite)? I guess it would make it easier for potentially interested developers to investigate the problem.