# HG changeset patch # User Nina Engelhardt # Date 1334757014 -7200 # Node ID 0d7177551bff5b59c860155df7176e4d44ed77e2 # Parent c35cb1f48f89b33ca3206eff035b472bbd609bbc optimization for large number of cores: dedicate core 0 to create/receive diff -r c35cb1f48f89 -r 0d7177551bff SSR_Matrix_Mult/Divide_Pr.c --- a/SSR_Matrix_Mult/Divide_Pr.c Tue Apr 17 20:13:26 2012 +0200 +++ b/SSR_Matrix_Mult/Divide_Pr.c Wed Apr 18 15:50:14 2012 +0200 @@ -261,7 +261,7 @@ idealNumWorkUnits = SSR__giveIdealNumWorkUnits(); idealSizeOfSide2 = leftMatrix->numRows / rint(cbrt( idealNumWorkUnits )); - idealSizeOfSide2 *= 0.5; //finer granularity to help load balance + idealSizeOfSide2 *= 0.6; //finer granularity to help load balance if( idealSizeOfSide1 > idealSizeOfSide2 ) idealSizeOfSide = idealSizeOfSide1; @@ -412,7 +412,7 @@ //Move to next core, max core-value to incr to is numCores -1 coreToAssignOnto += 1; - if( coreToAssignOnto >= numCores ) coreToAssignOnto = 0; + if( coreToAssignOnto >= numCores ) coreToAssignOnto = 1; } //if } //for( vecIdx } //for( resColIdx