um gpu é um único dispositivo encadeado, portanto, usando vários encadeamentos, você está reduzindo o processo inteiro. Se você quiser utilizar todos os seus núcleos de cpu, use 1 thread para enviar comandos para o gpu e fazer as outras coisas (coisas que não são do gpu) em outros threads. Se o seu gpu integrado suporta opencl você pode utilizar esse componente também. então seriam 2 threads conversando com 2 gpus e o resto fazendo as outras coisas.