Excuse me, please, for any mistakes, because I am only beginner in OpenCL programming, but on my notebook clinfo shows only one GPU from pair regardless of what is set in AMDCCC (power-saving or high-perfomance GPU) but never both. Is it possible for both GPUs to contribute at the same time for OpenCL processing of the same piece of data, or simply to run kernels with different datasets at the same time?
Thank you for answers! It the answer is already posted somewhere, I`ll appreciate any links to such materials!
Thank you very much for help!
Using the OpenCL, you can access multiple GPUs at the same time and run the same kernel on different GPUs simultaneously. You can check the "SimpleMultiDevice" sample under AMD APP SDK\2.9\samples\opencl\cl to get an idea.
but on my notebook clinfo shows only one GPU from pair regardless of what is set in AMDCCC (power-saving or high-perfomance GPU) but never both.
I would suggest to reinstall the latest driver and check whether problem persists or not. If so then I've few queries:
Are you getting the same GPU each time from clinfo list? If yes, which one of these i.e. integrated or discrete?
Are both the GPUs listed under "Device Manager" list (or similar in Linux)?
According to APP Programming Guide 2.7 (2.4.3 Masking Visible Devices),
By default, OpenCL applications are exposed to all GPUs installed in the system; this allows applications to use multiple GPUs to run the compute task.
You may try out the GPU_DEVICE_ORDINAL environment parameter to enable both the cards and check whether it works or not.
If still face the problem, please let us know your setup details such as hardware, driver, SDK, OS etc. Also let us know AMDCCC configuration (if you modify anything).
Thank you very much for help! Your answer, Dipak, gave me a hint about how to search for help and finally I`ve found it!
The answer is in the post of Dhruba Bandopadhyay in his blog here: OpenCL Cookbook: Running remote multi-gpu OpenCL computations over SSH on Ubuntu or Debian using AMD... The crucial thing was to dissable CrossFireX, that seems to be enabled by default in Linux Catalyst driver. All settings are described in that post! The only thing, that is needed to be add to that post, that direct syntax of command to disable CrossFireX is sudo amdconfig --crossfire=off --adapter=0,1 for hybrid graphics configuration.
A lot of useful information about multi-GPU configuration can be obtained from this post too: OpenCL Cookbook: Managing your GPUs using amdconfig/aticonfig – a powerful utility in the AMD OpenCL...
Thank you very much, Dipak and Dhruba Bandopadhyay for help!
Its nice to hear that you've found the solution. Thanks for sharing the links. These are really useful references.