Better error checking during initialization
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 38/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- python
- Domaine
- backend-api-design, hpc
Piste de recherche
Commencez par suivre l'initialisation du backend depuis arrayfire.backend.name() en passant par arrayfire.Array() et le chemin safe_call indiqué dans le traceback. Confirmez comment la disponibilité du périphérique est actuellement vérifiée et faites en sorte que le rapport d'erreur signale une erreur utile du pilote ou du périphérique ; vérifiez le comportement avec le scénario d'initialisation décrit dans l'issue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Python
- Étoiles
- 422
- Forks
- 63
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de arrayfire/arrayfire-python
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
arrayfire/arrayfire-python#271 ·
-
Unwrap phase function Ouverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
arrayfire/arrayfire-python#270 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
arrayfire/arrayfire-python#269 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
arrayfire/arrayfire-python#268 · 1 commentaire ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 48/100
arrayfire/arrayfire-python#267 · 1 commentaire · 1 réaction ·
Toutes les issues de arrayfire/arrayfire-python
Issues similaires
-
Add: hunch Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
AbdelStark/awesome-typesafe#104 ·
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
DiamondLightSource/dodal#2211 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
openml/openml-python#1749 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
sipyourdrink-ltd/bernstein#6191 ·