arrayfire / arrayfire/arrayfire-python

arrayfire-python conflict with pycuda on anaconda with Linux

Ouverte
#191 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
422
Forks
63
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Hi,

I am using anaconda on linux, I have been previously using arrayfire on windows fine. I installed latest arrayfire on the Linux OS.. The error was

```
ERROR:root:Traceback (most recent call last):
File "/home/sabih/anaconda3/lib/python3.6/site-packages/arrayfire/tests/simple/_util.py", line 32, in run
test(verbose)
File "/home/sabih/anaconda3/lib/python3.6/site-packages/arrayfire/tests/simple/array_test.py", line 26, in simple_array
display_func(b)
File "/home/sabih/anaconda3/lib/python3.6/site-packages/arrayfire/tests/simple/_util.py", line 50, in print_func_impl
_print_log += str(arg) + '\n'
File "/home/sabih/anaconda3/lib/python3.6/site-packages/arrayfire/array.py", line 1281, in __str__
return self._get_metadata_str(dims=False) + self._as_str()
File "/home/sabih/anaconda3/lib/python3.6/site-packages/arrayfire/array.py", line 1301, in _as_str
safe_call(be.af_array_to_string(c_pointer(arr_str), "", self.arr, 4, True))
File "/home/sabih/anaconda3/lib/python3.6/site-packages/arrayfire/util.py", line 79, in safe_call
raise RuntimeError(to_str(err_str))
RuntimeError: In function void print(const char*, af_array, int, std::ostream&, bool) [with T = int; af_array = void*; std::ostream = std::basic_ostream]
In file src/api/c/print.cpp:

```
After spending a day trying to think as to what the problem could be, I discovered that the problem is due to conflict with the install of pycuda, as soon as I removed pycuda, the arrayfire tests passed. The different version of pycuda give the same error.

Now I solved the issue by installing pycuda in a separate folder and adding that to the PYTHONPATH instead of the default in anaconda.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

The failure is reported through arrayfire/tests/simple/array_test.py and arrayfire/tests/simple/_util.py, with formatting in arrayfire/array.py and error handling in arrayfire/util.py. Reproduce the Anaconda/Linux setup with pycuda installed, then compare it with the separate-PYTHONPATH workaround. Done means the simple tests pass without requiring that workaround, with the dependency interaction documented or fixed.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
anaconda, linux, python
Domaine
operating-systems, tooling
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.