arrayfire / arrayfire/arrayfire-python

Small bug in info_str if selected device number is >= 1

Ouverte
#266 0 commentaires 0 réactions 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

If the currently selected device number is 1 or greater, info_str will display incorrect information for the selected device. This is due to this conditional in device.py: https://github.com/arrayfire/arrayfire-python/blob/master/arrayfire/device.py#L108. That is, the previous device is used for the device information. An easy fix should be to simply omit the conditional.

However, the info_str seems to also show wrong devices after the platform has changed (though it could be related to something else too). For example when device number 1 is selected:
ArrayFire v3.9.0 (OpenCL 64bit)
-0- AMD Accelerated Parallel Processing: gfx1036 (Compute 2.0)
[1] AMD Accelerated Parallel Processing: gfx1036 (Compute 2.0)
-2- AMD Accelerated Parallel Processing: gfx1036 (Compute 2.0)
-3- Intel(R) OpenCL: AMD_Ryzen_5_7600X_6-Core_Processor (Compute 2.1)

With device number 3:
ArrayFire v3.9.0 (OpenCL 64bit)
-0- AMD Accelerated Parallel Processing: gfx1036 (Compute 2.0)
-1- AMD Accelerated Parallel Processing: gfx1100 (Compute 2.0)
-2- AMD Accelerated Parallel Processing: gfx1036 (Compute 2.0)
[3] AMD Accelerated Parallel Processing: gfx1036 (Compute 2.0)

The correct device is used in the actual computations though.

Note that the C++ version shows:
ArrayFire v3.9.0 (OpenCL, 64-bit Windows, build b59a1ae53)
-0- AMD: gfx1036, 24568 MB
[1] AMD: gfx1100, 20464 MB
-2- INTEL: AMD Ryzen 5 7600X 6-Core Processor , 64662 MB
-3- INTEL: AMD Ryzen 5 7600X 6-Core Processor , 64662 MB

Guide de contribution

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

Piste de recherche

Start in device.py at line 108 and reproduce info_str with selected device numbers 1 and 3, including after changing platforms. Check the displayed device against the selected device and the C++ output; done means info_str reports the correct device for each selection without regressing device computations.

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

Évaluation

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

Recevez les nouvelles issues par e-mail

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