Better error checking during initialization
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 38/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- python
- Bereich
- backend-api-design, hpc
Rechercherichtung
Beginne damit, die Backend-Initialisierung von arrayfire.backend.name() über arrayfire.Array() und den im Traceback gezeigten safe_call-Pfad nachzuverfolgen. Bestätige, wie die Geräteverfügbarkeit derzeit geprüft wird, und sorge dafür, dass der Fehlerbericht einen nützlichen Treiber- oder Gerätefehler ausgibt; überprüfe das Verhalten anhand des im Issue beschriebenen Initialisierungsszenarios.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Today I came across the following cryptic error message when trying to use arrayfire-python:
In [1]: import arrayfire
In [2]: arrayfire.backend.name()
Out[2]: 'cuda'
In [5]: arrayfire.Array()
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
<ipython-input-5-6dffbbbc7abd> in <module>()
----> 1 arrayfire.Array()
/home/filipe/.local/lib/python2.7/site-packages/arrayfire-3.2.20151211-py2.7.egg/arrayfire/array.pyc in __init__(self, src, dims, dtype, is_device)
422 for n in range(numdims):
423 idims[n] = dims[n]
--> 424 self.arr = _create_empty_array(numdims, idims, to_dtype[type_char])
425
426 def as_type(self, ty):
/home/filipe/.local/lib/python2.7/site-packages/arrayfire-3.2.20151211-py2.7.egg/arrayfire/array.pyc in _create_empty_array(numdims, idims, dtype)
36 c_dims = dim4(idims[0], idims[1], idims[2], idims[3])
37 safe_call(backend.get().af_create_handle(ct.pointer(out_arr),
---> 38 numdims, ct.pointer(c_dims), dtype.value))
39 return out_arr
40
/home/filipe/.local/lib/python2.7/site-packages/arrayfire-3.2.20151211-py2.7.egg/arrayfire/util.pyc in safe_call(af_error)
73 err_len = ct.c_longlong(0)
74 backend.get().af_get_last_error(ct.pointer(err_str), ct.pointer(err_len))
---> 75 raise RuntimeError(to_str(err_str), af_error)
76
77 def get_version():
RuntimeError: ('Error in /var/lib/jenkins-slave/workspace/arrayfire-linux-mkl-graphics-installer/src/api/c/data.cpp(197):\n\n\n', 998)
The error was caused by a bad driver version:
$ nvidia-smi
Failed to initialize NVML: GPU access blocked by the operating system
I think it could be useful if arrayfire would test if a device is really available, instead of just checking if it can dlopen the relevant library. For example by calling arrayfire.Array(). If that would fail a more useful error could be returned to the user.
- 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
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus arrayfire/arrayfire-python
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
arrayfire/arrayfire-python#271 ·
-
Unwrap phase function Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
arrayfire/arrayfire-python#270 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
arrayfire/arrayfire-python#269 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 38/100
arrayfire/arrayfire-python#268 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
arrayfire/arrayfire-python#267 · 1 Kommentar · 1 Reaktion ·
Alle Issues in arrayfire/arrayfire-python
Ähnliche Issues
-
Add: hunch Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
AbdelStark/awesome-typesafe#104 ·
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
DiamondLightSource/dodal#2211 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
openml/openml-python#1749 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
sipyourdrink-ltd/bernstein#6191 ·