Parallele for Schleife mit Qt



  • Hallo,

    ich habe ein Programm bei dem eine Rechnung durchgeführt wird, die etwas aufwendiger ist und somit länger dauert.

    QList<double> correlationCoefficientFunction;
    
    QProgressDialog progress("Calculate", "Abort", 0, numberOfElements, this);
    progress.setWindowModality(Qt::WindowModal);
    
    //! Loop over all r    
    for( int r=0; r< numberOfElements; r++) {
        progress.setValue(r);
        correlationCoefficientFunction.append(0);
        //! Loop to calculate R_{xy}(r*deltaT) for specific r
        for( int i=0; i < numberOfElements-r; i++ ) {
            correlationCoefficientFunction[r] +=  data->getElementOfScalar(idX,i)*data->getElementOfScalar(idY,i+r);
        }
        correlationCoefficientFunction[r] = correlationCoefficientFunction.at(r)/((numberOfElements-r)*factor);
        if (progress.wasCanceled())
            break;
    }
    progress.setValue(numberOfElements);
    

    Kann man die schleife über alle r (die einzelnen Durchläufe sind unabhängig) leicht parallelisieren?

    Danke für Tipps


Anmelden zum Antworten