arrayfire / arrayfire/arrayfire-python

arrayfire-python conflict with pycuda on anaconda with Linux

Aberta
#191 0 comentários 0 reações 0 responsáveis Ver no GitHub
Linguagem predominante
Python
Estrelas
422
Forks
63
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
anaconda, linux, python
Domínio
operating-systems, tooling
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.