# HG changeset patch # User Me # Date 1289217859 28800 # Node ID 0a8667d136274335ef166c4940756501a83cac4e # Parent cbd8db6b8657e3e3c30f35c6552284b3b244733f Moved zeroing out results array from results Pr to Divider diff -r cbd8db6b8657 -r 0a8667d13627 src/Application/SSR_Matrix_Mult/Divide_Pr.c --- a/src/Application/SSR_Matrix_Mult/Divide_Pr.c Thu Nov 04 17:44:15 2010 -0700 +++ b/src/Application/SSR_Matrix_Mult/Divide_Pr.c Mon Nov 08 04:04:19 2010 -0800 @@ -9,6 +9,7 @@ #include "SSR_Matrix_Mult.h" #include +#include //The time to compute this many result values should equal the time to // perform this division on a matrix of size gives that many result calcs @@ -142,6 +143,9 @@ numResRows = leftMatrix->numRows; numResCols = rightMatrix->numCols; resultArray = dividerParams->resultMatrix->array; + + //zero the result array + memset( resultArray, 0, numResRows * numResCols * sizeof(float32) ); //============== Do either sequential mult or do division ============== @@ -153,9 +157,6 @@ { //====== Do sequential multiply on a single core DEBUG( dbgAppFlow, "doing sequential") - - //zero the result array - memset( resultArray, 0, numResRows * numResCols * sizeof(float32) ); //transpose the right matrix float32 * diff -r cbd8db6b8657 -r 0a8667d13627 src/Application/SSR_Matrix_Mult/Result_Pr.c --- a/src/Application/SSR_Matrix_Mult/Result_Pr.c Thu Nov 04 17:44:15 2010 -0700 +++ b/src/Application/SSR_Matrix_Mult/Result_Pr.c Mon Nov 08 04:04:19 2010 -0800 @@ -44,14 +44,6 @@ resultArray = params->resultArray; - //zero out the results array -- will be accumulating, so must start 0 - for( row = 0; row < numRows; row++ ) - { - for( col = 0; col < numCols; col++ ) - { - resultArray[ row * numCols + col ] = 0; - } - } while( count < numSubMatrixPairs ) { diff -r cbd8db6b8657 -r 0a8667d13627 src/Application/SSR_Matrix_Mult/subMatrix_Pr.c --- a/src/Application/SSR_Matrix_Mult/subMatrix_Pr.c Thu Nov 04 17:44:15 2010 -0700 +++ b/src/Application/SSR_Matrix_Mult/subMatrix_Pr.c Mon Nov 08 04:04:19 2010 -0800 @@ -6,9 +6,12 @@ * */ +#include + #include "SSR_Matrix_Mult.h" + void inline copyFromOrig( SubMatrix *subMatrix, VirtProcr *animPr ); @@ -49,6 +52,10 @@ SubMatrix *leftSubMatrix, *rightSubMatrix; DEBUG1(dbgAppFlow, "start sub-matrix mult: %d\n", animatingPr->procrID) + int32 subMatrixProbe = VMS__create_single_interval_probe( "subMtx", + animatingPr); + VMS__record_sched_choice_into_probe( subMatrixProbe, animatingPr ); + VMS__record_interval_start_in_probe( subMatrixProbe ); params = (SMPairParams *)data; resultPr = params->resultPr; @@ -81,6 +88,9 @@ //send result to result processor params->partialResultArray = resArray; + + VMS__record_interval_end_in_probe( subMatrixProbe ); + SSR__send_of_type_to( animatingPr, params, RESULTS_MSG, resultPr ); SSR__dissipate_procr( animatingPr ); }