arrayfire / arrayfire/arrayfire-python

arrayfire-python conflict with pycuda on anaconda with Linux

オープン
#191 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
422
フォーク
63
PR マージ指標
30日以内にマージされた PR はありません

説明

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.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

評価

技術スタック
anaconda, linux, python
領域
operating-systems, tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。