arrayfire / arrayfire/arrayfire-python

OpenCL interoperability does not work on CUDA machine

Ouverte
#267 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
422
Forks
63
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

On (Linux) CUDA machine, the backend returned by `af.get_backend()` remains at unified even if the backend is correctly set as OpenCL. `af.get_active_backend()` correctly returns OpenCL as the backend, but since the interoperability functions use different way to check the backend, an error is output (see https://github.com/arrayfire/arrayfire-python/blob/master/arrayfire/opencl.py#L107). Commenting all those instances fixes the issue. The (commented) tests reproduce this error, i.e. https://github.com/arrayfire/arrayfire-python/blob/master/tests/simple/interop.py#L82

Note that this wasn't an issue on a (Windows) AMD machine, where OpenCL is the default backend.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Start with the backend checks in arrayfire/opencl.py around line 107 and inspect the commented reproduction in tests/simple/interop.py around line 82. Run that interoperability test on a Linux CUDA machine and compare get_backend() with get_active_backend(); done means OpenCL interoperability succeeds without the reported error.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
backend
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.