# HG changeset patch # User Some Random Person # Date 1331360486 28800 # Node ID 1461ed1901ccaf876fe9f8d07978f64d7ed1d199 # Parent ca572fdc9a80694fb67064cc25cfaf09113c51a8 update to common ancestor (VirtProcr to SlaveVP) and updated include paths diff -r ca572fdc9a80 -r 1461ed1901cc Matrix_Mult.h --- a/Matrix_Mult.h Fri Mar 09 19:03:28 2012 +0100 +++ b/Matrix_Mult.h Fri Mar 09 22:21:26 2012 -0800 @@ -10,8 +10,8 @@ #include #include -#include "../VMS_Implementations/VMS_impl/VMS_primitive_data_types.h" -#include "../C_Libraries/ParamHelper/Param.h" +#include "VMS_impl/VMS_primitive_data_types.h" +#include "ParamHelper/Param.h" //============================== Structures ============================== diff -r ca572fdc9a80 -r 1461ed1901cc SSR_Matrix_Mult/Divide_Pr.c --- a/SSR_Matrix_Mult/Divide_Pr.c Fri Mar 09 19:03:28 2012 +0100 +++ b/SSR_Matrix_Mult/Divide_Pr.c Fri Mar 09 22:21:26 2012 -0800 @@ -15,45 +15,45 @@ // perform this division on a matrix of size gives that many result calcs //IE, size this so that sequential time to calc equals divide time // find the value by experimenting -- but divide time and calc time scale - // same way, so this value should remain valid across hardware + // same way, so this value might remain the same across hardware #define NUM_CELLS_IN_SEQUENTIAL_CUTOFF 1000 //=========================================================================== int inline -measureMatrixMultPrimitive( VirtProcr *animPr ); +measureMatrixMultPrimitive( SlaveVP *animPr ); SlicingStrucCarrier * calcIdealSizeAndSliceDimensions( Matrix *leftMatrix, Matrix *rightMatrix, - VirtProcr *animPr ); + SlaveVP *animPr ); SlicingStruc * sliceUpDimension( float32 idealSizeOfSide, int startVal, int endVal, - VirtProcr *animPr ); + SlaveVP *animPr ); void -freeSlicingStruc( SlicingStruc *slicingStruc, VirtProcr *animPr ); +freeSlicingStruc( SlicingStruc *slicingStruc, SlaveVP *animPr ); SubMatrix ** createSubMatrices( SlicingStruc *rowSlices, SlicingStruc *colSlices, - int32 numUses, Matrix *origMatrix, VirtProcr *animPr ); + int32 numUses, Matrix *origMatrix, SlaveVP *animPr ); void freeSubMatrices( SlicingStruc *rowSlices, SlicingStruc *colSlices, - SubMatrix **subMatrices, VirtProcr *animPr ); + SubMatrix **subMatrices, SlaveVP *animPr ); void pairUpSubMatricesAndMakeProcessors( SubMatrix **leftSubMatrices, SubMatrix **rightSubMatrices, int32 numRowIdxs, int32 numColIdxs, int32 numVecIdxs, - VirtProcr *resultPr, - VirtProcr *animatingPr ); + SlaveVP *resultPr, + SlaveVP *animatingPr ); void makeSubMatricesAndProcrs( Matrix *leftMatrix, Matrix *rightMatrix, SlicingStrucCarrier *slicingStrucCarrier, - VirtProcr *resultPr, VirtProcr *animatingPr ); + SlaveVP *resultPr, SlaveVP *animatingPr ); @@ -112,10 +112,9 @@ * two levels of nesting to create sub-matrices, and three levels to pair * up the sub-matrices. */ - void divideWorkIntoSubMatrixPairProcrs( void *_dividerParams, - VirtProcr *animPr ) - { VirtProcr *resultPr; + SlaveVP *animPr ) + { SlaveVP *resultPr; DividerParams *dividerParams; ResultsParams *resultsParams; Matrix *leftMatrix, *rightMatrix, *resultMatrix; @@ -126,10 +125,10 @@ DEBUG( dbgAppFlow, "start divide\n") int32 - divideProbe = VMS__create_single_interval_probe( "divideProbe", + divideProbe = VMS_App__create_single_interval_probe( "divideProbe", animPr ); - VMS__record_sched_choice_into_probe( divideProbe, animPr ); - VMS__record_interval_start_in_probe( divideProbe ); + VMS_App__record_sched_choice_into_probe( divideProbe, animPr ); + VMS_App__record_interval_start_in_probe( divideProbe ); //=========== Setup -- make local copies of ptd-to-things, malloc, aso int32 numResRows, numResCols, vectLength; @@ -217,8 +216,8 @@ DEBUG( dbgAppFlow, "end divide\n") - VMS__record_interval_end_in_probe( divideProbe ); - VMS__print_stats_of_all_probes(); + VMS_App__record_interval_end_in_probe( divideProbe ); + VMS_App__print_stats_of_all_probes(); //nothing left to do so dissipate, SSR will wait to shutdown and hence // make results available to outside until all the processors have @@ -232,7 +231,7 @@ SlicingStrucCarrier * calcIdealSizeAndSliceDimensions( Matrix *leftMatrix, Matrix *rightMatrix, - VirtProcr *animPr ) + SlaveVP *animPr ) { float32 idealSizeOfSide, idealSizeOfSide1, idealSizeOfSide2; SlicingStruc *leftRowSlices, *vecSlices, *rightColSlices; @@ -305,7 +304,7 @@ void makeSubMatricesAndProcrs( Matrix *leftMatrix, Matrix *rightMatrix, SlicingStrucCarrier *slicingStrucCarrier, - VirtProcr *resultPr, VirtProcr *animPr ) + SlaveVP *resultPr, SlaveVP *animPr ) { SlicingStruc *leftRowSlices, *vecSlices, *rightColSlices; @@ -353,8 +352,8 @@ SubMatrix **rightSubMatrices, int32 numRowIdxs, int32 numColIdxs, int32 numVecIdxs, - VirtProcr *resultPr, - VirtProcr *animatingPr ) + SlaveVP *resultPr, + SlaveVP *animatingPr ) { int32 resRowIdx, resColIdx, vecIdx; int32 numLeftColIdxs, numRightColIdxs; @@ -436,7 +435,7 @@ */ SubMatrix ** createSubMatrices( SlicingStruc *rowSlices, SlicingStruc *colSlices, - int32 numUses, Matrix *origMatrix, VirtProcr *animPr ) + int32 numUses, Matrix *origMatrix, SlaveVP *animPr ) { int32 numRowIdxs, numColIdxs, rowIdx, colIdx; int32 startRow, endRow, startCol, endCol; @@ -487,7 +486,7 @@ void freeSubMatrices( SlicingStruc *rowSlices, SlicingStruc *colSlices, - SubMatrix **subMatrices, VirtProcr *animPr ) + SubMatrix **subMatrices, SlaveVP *animPr ) { int32 numRowIdxs, numColIdxs, rowIdx, colIdx, rowOffset; SubMatrix *subMatrix; @@ -513,7 +512,7 @@ SlicingStruc * sliceUpDimension( float32 idealSizeOfSide, int startVal, int endVal, - VirtProcr *animPr ) + SlaveVP *animPr ) { float32 residualAcc = 0; int numSlices, i, *startVals, sizeOfSlice, endCondition; SlicingStruc *slicingStruc = SSR__malloc_to(sizeof(SlicingStruc), animPr); @@ -553,7 +552,7 @@ } void -freeSlicingStruc( SlicingStruc *slicingStruc, VirtProcr *animPr ) +freeSlicingStruc( SlicingStruc *slicingStruc, SlaveVP *animPr ) { SSR__free( slicingStruc->startVals, animPr ); SSR__free( slicingStruc, animPr ); @@ -561,7 +560,7 @@ int inline -measureMatrixMultPrimitive( VirtProcr *animPr ) +measureMatrixMultPrimitive( SlaveVP *animPr ) { int r, c, v, numCycles; float32 *res, *left, *right; diff -r ca572fdc9a80 -r 1461ed1901cc SSR_Matrix_Mult/Result_Pr.c --- a/SSR_Matrix_Mult/Result_Pr.c Fri Mar 09 19:03:28 2012 +0100 +++ b/SSR_Matrix_Mult/Result_Pr.c Fri Mar 09 22:21:26 2012 -0800 @@ -26,8 +26,8 @@ *After the count reaches the point that all results have been received, it * returns the result matrix and dissipates. */ -void gatherResults( void *_params, VirtProcr *animatingPr ) - { VirtProcr *dividerPr; +void gatherResults( void *_params, SlaveVP *animatingPr ) + { SlaveVP *dividerPr; ResultsParams *params; int row, col, numRows, numCols, numSubMatrixPairs, count=0; float32 *resultArray; diff -r ca572fdc9a80 -r 1461ed1901cc SSR_Matrix_Mult/SSR_Matrix_Mult.h --- a/SSR_Matrix_Mult/SSR_Matrix_Mult.h Fri Mar 09 19:03:28 2012 +0100 +++ b/SSR_Matrix_Mult/SSR_Matrix_Mult.h Fri Mar 09 22:21:26 2012 -0800 @@ -8,7 +8,7 @@ #include -#include "../../VMS_Implementations/SSR_impl/SSR.h" +#include "SSR_impl/SSR.h" #include "../Matrix_Mult.h" @@ -31,7 +31,7 @@ typedef struct { - VirtProcr *dividerPr; + SlaveVP *dividerPr; int numRows; int numCols; int numSubMatrixPairs; @@ -55,7 +55,7 @@ SubMatrix; typedef struct - { VirtProcr *resultPr; + { SlaveVP *resultPr; SubMatrix *leftSubMatrix; SubMatrix *rightSubMatrix; float32 *partialResultArray; @@ -84,9 +84,9 @@ }; //============================= Processor Functions ========================= -void divideWorkIntoSubMatrixPairProcrs( void *data, VirtProcr *animatingPr ); -void calcSubMatrixProduct( void *data, VirtProcr *animatingPr ); -void gatherResults( void *data, VirtProcr *animatingPr ); +void divideWorkIntoSubMatrixPairProcrs( void *data, SlaveVP *animatingPr ); +void calcSubMatrixProduct( void *data, SlaveVP *animatingPr ); +void gatherResults( void *data, SlaveVP *animatingPr ); //================================ Entry Point ============================== diff -r ca572fdc9a80 -r 1461ed1901cc SSR_Matrix_Mult/subMatrix_Pr.c --- a/SSR_Matrix_Mult/subMatrix_Pr.c Fri Mar 09 19:03:28 2012 +0100 +++ b/SSR_Matrix_Mult/subMatrix_Pr.c Fri Mar 09 22:21:26 2012 -0800 @@ -13,10 +13,10 @@ void inline -copyFromOrig( SubMatrix *subMatrix, VirtProcr *animPr ); +copyFromOrig( SubMatrix *subMatrix, SlaveVP *animPr ); void inline -copyTransposeFromOrig( SubMatrix *subMatrix, VirtProcr *animPr ); +copyTransposeFromOrig( SubMatrix *subMatrix, SlaveVP *animPr ); void inline multiplySubBlocksTransposed( float32 *leftArray, float32 *rightArray, @@ -44,19 +44,19 @@ *When done, it sends the result to the result processor */ void -calcSubMatrixProduct( void *data, VirtProcr *animatingPr ) +calcSubMatrixProduct( void *data, SlaveVP *animatingPr ) { SMPairParams *params; - VirtProcr *resultPr; + SlaveVP *resultPr; float32 *leftArray, *rightArray, *resArray; SubMatrix *leftSubMatrix, *rightSubMatrix; - DEBUG1(dbgAppFlow, "start sub-matrix mult: %d\n", animatingPr->procrID) + DEBUG1(dbgAppFlow, "start sub-matrix mult: %d\n", animatingPr->slaveID) #ifdef TURN_ON_DEBUG_PROBES - int32 subMatrixProbe = VMS__create_single_interval_probe( "subMtx", + int32 subMatrixProbe = VMS_App__create_single_interval_probe( "subMtx", animatingPr); - VMS__record_sched_choice_into_probe( subMatrixProbe, animatingPr ); - VMS__record_interval_start_in_probe( subMatrixProbe ); + VMS_App__record_sched_choice_into_probe( subMatrixProbe, animatingPr ); + VMS_App__record_interval_start_in_probe( subMatrixProbe ); #endif params = (SMPairParams *)data; @@ -92,7 +92,7 @@ params->partialResultArray = resArray; #ifdef TURN_ON_DEBUG_PROBES - VMS__record_interval_end_in_probe( subMatrixProbe ); + VMS_App__record_interval_end_in_probe( subMatrixProbe ); #endif SSR__send_of_type_to( animatingPr, params, RESULTS_MSG, resultPr ); @@ -224,7 +224,7 @@ } void inline -copyTransposeFromOrig( SubMatrix *subMatrix, VirtProcr *animPr ) +copyTransposeFromOrig( SubMatrix *subMatrix, SlaveVP *animPr ) { int numCols, numRows, origStartRow, origStartCol, origStride, stride; Matrix *origMatrix; float32 *origArray, *subArray; @@ -262,7 +262,7 @@ void inline -copyFromOrig( SubMatrix *subMatrix, VirtProcr *animPr ) +copyFromOrig( SubMatrix *subMatrix, SlaveVP *animPr ) { int numCols, numRows, origStartRow, origStartCol, stride, origStride; Matrix *origMatrix; float32 *origArray, *subArray; diff -r ca572fdc9a80 -r 1461ed1901cc main.c --- a/main.c Fri Mar 09 19:03:28 2012 +0100 +++ b/main.c Fri Mar 09 22:21:26 2012 -0800 @@ -11,7 +11,7 @@ #include "Matrix_Mult.h" #include "SSR_Matrix_Mult/SSR_Matrix_Mult.h" -char __ProgrammName[] = "Blocked Matrix Multiply"; +char __ProgramName[] = "Blocked Matrix Multiply"; char __DataSet[255]; /** *