BOINC / boinc

Open-source software for volunteer computing and grid computing.
https://boinc.berkeley.edu
GNU Lesser General Public License v3.0
1.99k stars 443 forks source link

Multi GPU scheduling issue #5133

Open Rytiss opened 1 year ago

Rytiss commented 1 year ago

Describe the bug Plan_class_spec allows specifying ngpus>1. However, everything on the BOINC client side assumes ngpus<=1: app_init_data.gpu_device_num is int, wrapper's gpu_device_num is int, etc.

This makes it impossible to run a multi-GPU application, or alternatively, makes such an application use all GPUs if --device flag/aid.gpu_device_num is ignored to gain access to more than one GPU.

Expected behavior gpu_device_num should be an array of devices in multi-gpu context.

AenBleidd commented 1 year ago

@davidpanderson, could you please take a look?

davidpanderson commented 1 year ago

This would be a major change, and I haven't seen any multi-GPU apps.

makeasnek commented 1 year ago

Would love multi-GPU support. These days any machine with a GPU in a pcie port probably also has an onboard GPU. Multi-gpu support would also be important for AI projects that want to use BOINC in some way. Maybe not top development priority but sure would be cool :)

AenBleidd commented 1 year ago

Not sure any application could use two different (especially from the different vendors) GPUs at the same time. From the other hand, there are not so much people who have two and more same GPUs at the same time installed. So I don't really think any application would benefit a lot from such a configuration. So this ticket is mostly to fix inconsistency between client and server, but definitely not to add multi-GPU support.

KeithMyers commented 1 year ago

Count me in as a multi-gpu user on 5 hosts. All the same cards. Same for my teammates. Oh, also about another hundred or so BOINC volunteers who are also contesters. Like with the current BOINC Pentathlon running now.