Qt World Summit: Register Today!

Using QtOpenCL with multiple devices

  • I have 2 videocards (2 GPUs each) (Radeon HD 6990). I'm trying to use both of them in my calculations.
    Querying AMD APP platform returns correct number of avail. OpenCL-devices, so I'm creating context with QList< QCLDevice > containing 4 GPUs.

    Then I'm creating QCLProgram using QCLContext::createProgramFromSourceFile().

    @ clContext.create(clDevices)
    clProgram = clContext.createProgramFromSourceFile("test.cl");
    /* setting compilier params... */

    Problem is, clProgram only sees 1 gpu (clProgram.devices() returns 1). Documentation says:
    @bool QCLProgram::build ( const QList<QCLDevice> & devices, const QString & options = QString() )
    /If devices is not empty, the program will only be built for devices in the specified list.
    Otherwise the program will be built for all devices on the program's context.
    However, using QList<QCLDevice>() as first param leads to same result.

    Any advices? Thanks.

Log in to reply