arrayfire-python conflict with pycuda on anaconda with Linux

Offen
#191 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
25/100
Issue-Typ
Bug
Klarheit
Muss geklärt werden
Aktivitätsstatus
Veraltet
Tech-Stack
anaconda, linux, python

Rechercherichtung

Der Fehler wird über arrayfire/tests/simple/array_test.py und arrayfire/tests/simple/_util.py gemeldet, die Formatierung erfolgt in arrayfire/array.py und die Fehlerbehandlung in arrayfire/util.py. Reproduziere die Anaconda/Linux-Umgebung mit installiertem pycuda und vergleiche sie anschließend mit der separate-PYTHONPATH-Umgehung. Erledigt ist die Aufgabe, wenn die einfachen Tests ohne diese Umgehung bestehen und die Abhängigkeitsinteraktion dokumentiert oder behoben ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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<char>]
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.

Vorherrschende Sprache
Python
Sterne
422
Forks
63
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus arrayfire/arrayfire-python

Alle Issues in arrayfire/arrayfire-python

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.