conflict with matplotlib.pyplot

Offen
#208 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
35/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
matplotlib, python
Bereich
backend, hpc

Rechercherichtung

Reproduziere das bereitgestellte Python-3.6-Beispiel mit matplotlib.pyplot, ArrayFire, der arithmetischen Operation und data.join. Untersuche arrayfire/data.py bei join, arrayfire/util.py bei safe_call und den gemeldeten Pfad src/backend/cuda/jit.cpp, um festzustellen, warum eine Änderung der Importreihenfolge den JIT-Fehler verändert; abgeschlossen ist die Aufgabe, wenn der Reproducer nicht mehr fehlschlägt, ohne dass eine Anpassung der Importreihenfolge erforderlich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

These codes will trigger an error in just in time compiler

import matplotlib; matplotlib.use('Agg')
import matplotlib.pyplot as plt
import arrayfire as af

a = af.data.range( 640, 1280, dim=0 )
b = af.data.range( 640, 1280, dim=0 ) - 1

af.data.join(0,a,b,)

and the error output is

Traceback (most recent call last):
  File "test.py", line 8, in <module>
    af.data.join(0,a,b,)
  File "/home/herbert/anaconda3/lib/python3.6/site-packages/arrayfire/data.py", line 320, in join
    safe_call(backend.get().af_join(c_pointer(out.arr), dim, first.arr, second.arr))
  File "/home/herbert/anaconda3/lib/python3.6/site-packages/arrayfire/util.py", line 79, in safe_call
    raise RuntimeError(to_str(err_str))
RuntimeError: In function std::vector<char> cuda::compileToPTX(const char*, std::string)
In file src/backend/cuda/jit.cpp:

However, without any major change, the following two will not,

# change the import order between pyplot and arrayfire

import matplotlib; matplotlib.use('Agg')
import arrayfire as af
import matplotlib.pyplot as plt

a = af.data.range( 640, 1280, dim=0 )
b = af.data.range( 640, 1280, dim=0 ) - 1

af.data.join(0,a,b,)

or

# do not perform the arithmetic operation on one of the array  

import matplotlib; matplotlib.use('Agg')
import matplotlib.pyplot as plt
import arrayfire as af

a = af.data.range( 640, 1280, dim=0 )
b = af.data.range( 640, 1280, dim=0 )

af.data.join(0,a,b,)

Here is my python environment obtained by running python in a terminal.

Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
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.