"CPU" does not mean that only CPUs would be used - it means "CPU interface" (the input data and the output result is expected to be on the CPU memory). The "GPU" or "GPU interface" means that the input matrix as well as the output is on the GPU memory. In either case both the GPUs and the CPUs are used.
For the case of QR, if you have more than one GPU, you can set environment variable
MAGMA_NUM_GPUS to the number of GPUs you would like to use. For example, setting
- Code: Select all
setenv MAGMA_NUM_GPUS 4
will result in using 4 GPUs in subsequent calls to
magma_{s,d,c,z}geqrf.