arrayfire / arrayfire/arrayfire-python

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

Open
#266 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
422
Forks
63
PR merge metrics
No merged PRs in 30d

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

Contributor guide

No contributing guide indexed for this repository

Research direction

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.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
hpc
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.