Comment 0 for bug 721039

Revision history for this message
Nicolas Slusarenko (nicolas-slusarenko) wrote :

- When a call to component is performed it is done something like this:

    matrixOpeMask mo= create<matrixOpeMask>("matrixOpe");
    c= mo.product(a, b);

- If there are two 'matrixOpeMask' we could try:

    matrixOpeMask moA= create<matrixOpeMask>("matrixOpe");
    matrixOpeMask moB= create<matrixOpeMask>("matrixOpe");

    moA.T_product(a, b);
    moB.T_product(a, b);
    c1= moA.productA();
    c2= moB.productA();

- Hence, we trigger a job (the product of matrices 'a' and 'b') on 'moA' and then we trigger another job on 'moB'.
- However, if conveying the arguments 'a' and 'b' takes a lot of time it would be a great advantage to have an internal thread on the trigger call T_product(..) scheduled with the task. Then the call will return immediately. Then would be possible to do the same with 'moB'.
- This case happened to be relevant sending two matrices, 'a' and 'b' of 1000x1000 (one million of elements) each one.