⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ppvisual_total.diff

📁 MatlabVisualization Package
💻 DIFF
字号:
diff -rbBd --minimal -U 3 matlabpv2_org/PPMake.inc matlabpv2/PPMake.inc--- matlabpv2_org/PPMake.inc	Tue May  7 20:24:54 2002+++ matlabpv2/PPMake.inc	Mon May  6 16:29:24 2002@@ -1,17 +1,17 @@ CC=mpiCC CCC=g++   -STATICLINKPACKAGES=-DPPBASE -DPPPBLAS -DPPSCALAPACK -DPPFFTW+STATICLINKPACKAGES=-DPPBASE -DPPPBLAS -DPPSCALAPACK -DPPFFTW -DPPVISUAL #STATICLINKPACKAGES= -CFLAG=-DGCC -DPPSTATIC -DSPRNG -DSCALAPACKUNDERSCORE -DBLACSUNDERSCORE -DPBLASUNDERSCORE $(STATICLINKPACKAGES) -static+CFLAG=-DGCC -DPPSTATIC -DSPRNG -DSCALAPACKUNDERSCORE -DBLACSUNDERSCORE -DPBLASUNDERSCORE $(STATICLINKPACKAGES) -static -lGL -lGLU -lOSMesa #-DDEBUG # xlC SHARED=-bM:SRE -bnoentry   INCLUDE=-I../include -I../server $(SCALAPACKINC) $(SPRNGINC) $(FFTWINC) -LIBS=$(SCALAPACK) $(TOOLS) $(REDIST) $(PBLAS) $(SPRNG) $(LAPACK) $(FFTW) $(BLAS) $(BLACS) $(MPI) -lm -lg2c+LIBS=$(SCALAPACK) $(TOOLS) $(REDIST) $(PBLAS) $(SPRNG) $(LAPACK) $(FFTW) $(BLAS) $(BLACS) $(MPI) -lm -lg2c -lGL -lGLU -lOSMesa  BLAS=-lf77blas -latlas @@ -42,4 +42,4 @@ PROXYOBJS=$(COMMONOBJS) PPProxy.o  PACKAGES=../packages/PPBase.o ../packages/PPPBlas.o ../packages/PPFFTW.o \-	 ../packages/PPScalapack.o+	 ../packages/PPScalapack.o ../packages/PPVisual.o ../packages/tdrender.o ../packages/surfrender.o ../packages/meshrender.o ../packages/spyrender.o ../packages/render.odiff -rbBd --minimal -U 3 matlabpv2_org/include/MatrixManager.h matlabpv2/include/MatrixManager.h--- matlabpv2_org/include/MatrixManager.h	Tue May  7 20:24:54 2002+++ matlabpv2/include/MatrixManager.h	Sat May  4 04:17:41 2002@@ -18,6 +18,10 @@ typedef MatrixMap::const_iterator MatrixMapCI; typedef MatrixMap::iterator MatrixMapI; +typedef struct {+  int blocks, lCols, lRows;+  int *block_data;+} DistLayout;  class MatrixManager { @@ -63,7 +67,11 @@   void printLocal(PPMatrixID id, ostream &outstream);   int *getDesc(PPMatrixID id);   int getSqtxt() { return sqtxt; }-+  /*  +      int getStartCol(PPMatrixID in, int nprocs);+      int getStartRow(PPMatrixID in, int nprocs);+  */  +  DistLayout * getDistWindows(PPMatrixID in, int nprocs, int rank);    PPMatrixID * getMatrixList();   int getMatrixCount(); diff -rbBd --minimal -U 3 matlabpv2_org/include/PPInit.h matlabpv2/include/PPInit.h--- matlabpv2_org/include/PPInit.h	Tue May  7 20:24:54 2002+++ matlabpv2/include/PPInit.h	Thu Apr 18 19:01:41 2002@@ -7,6 +7,7 @@   PPError PPPBlas_initialize(PPPackage *, PPLogger *);   PPError PPFFTW_initialize(PPPackage *, PPLogger *);   PPError PPScalapack_initialize(PPPackage *, PPLogger *);+  PPError PPVisual_initialize(PPPackage *, PPLogger *);   }diff -rbBd --minimal -U 3 matlabpv2_org/matlab/@operator/pcg2.m matlabpv2/matlab/@operator/pcg2.m--- matlabpv2_org/matlab/@operator/pcg2.m	Tue May  7 20:24:56 2002+++ matlabpv2/matlab/@operator/pcg2.m	Thu Apr 18 19:01:41 2002@@ -101,7 +101,7 @@  %   Penny Anderson, 1996. %   Copyright (c) 1984-98 by The MathWorks, Inc.-%   $Revision: 1.1.1.1 $ $Date: 2002/03/06 03:08:57 $+%   $Revision: 1.1.1.1 $ $Date: 2002/04/18 19:01:41 $  if (nargin < 2)    error('Not enough input arguments.');Only in matlabpv2/matlab: about.figOnly in matlabpv2/matlab: about.mOnly in matlabpv2/matlab: aboutspy1surf1.figOnly in matlabpv2/matlab: aboutspy1surf1.mOnly in matlabpv2/matlab: ppclient.mexglxBinary files matlabpv2_org/matlab/ppclient.mexsg64 and matlabpv2/matlab/ppclient.mexsg64 differOnly in matlabpv2/matlab: ppmesh.figOnly in matlabpv2/matlab: ppmesh.mOnly in matlabpv2/matlab: ppproxyOnly in matlabpv2/matlab: ppspy.figOnly in matlabpv2/matlab: ppspy.mOnly in matlabpv2/matlab: ppspy_test.mOnly in matlabpv2/matlab: ppsurf.figOnly in matlabpv2/matlab: ppsurf.mOnly in matlabpv2/matlab: ppsurf.m~Only in matlabpv2/matlab: ppsurf_test.mOnly in matlabpv2/matlab: sTestdiff -rbBd --minimal -U 3 matlabpv2_org/packages/Makefile matlabpv2/packages/Makefile--- matlabpv2_org/packages/Makefile	Tue May  7 20:24:56 2002+++ matlabpv2/packages/Makefile	Mon May  6 16:29:28 2002@@ -23,14 +23,15 @@ PPPBLASOBJS=$(COMMONOBJS) PPPBlas.o PPFFTWOBJS=$(COMMONOBJS) PPFFTW.o PPSCALAPACKOBJS=$(COMMONOBJS) PPScalapack.o+PPVISUAL=$(COMMONOBJS) PPVisual.o tdrender.o surfrender.o meshrender.o spyrender.o render.o --all: ppbase_s pppblas_s ppfftw_s ppscalapack_s+all: ppbase_s pppblas_s ppfftw_s ppscalapack_s ppvisual_s  pppblas_s: $(PPPBLASOBJS) ppbase_s: $(PPBASEOBJS) ppfftw_s: $(PPFFTWOBJS) ppscalapack_s: $(PPSCALAPACKOBJS)+ppvisual_s: $(PPVISUAL)  ppbase: $(PPBASEOBJS) 	$(CCC) $(INCLUDE) $(SHARED) -G -bE:PPBase.exp -o PPBase.so $(PPBASEOBJS) $(LIBS)Only in matlabpv2/packages: PPVisual.ccOnly in matlabpv2/packages: meshrender.ccOnly in matlabpv2/packages: meshrender.hOnly in matlabpv2/packages: render.ccOnly in matlabpv2/packages: render.hOnly in matlabpv2/packages: spyrender.ccOnly in matlabpv2/packages: spyrender.hOnly in matlabpv2/packages: surfrender.ccOnly in matlabpv2/packages: surfrender.hOnly in matlabpv2/packages: tdrender.ccOnly in matlabpv2/packages: tdrender.hOnly in matlabpv2/packages: textures.hdiff -rbBd --minimal -U 3 matlabpv2_org/server/MatrixManager.cc matlabpv2/server/MatrixManager.cc--- matlabpv2_org/server/MatrixManager.cc	Tue May  7 20:24:57 2002+++ matlabpv2/server/MatrixManager.cc	Tue May  7 20:31:18 2002@@ -750,7 +750,195 @@   m1->set(m,n,val); } +/* unknown return type */+DistLayout *+MatrixManager::getDistWindows(PPMatrixID in, int nprocs, int rank) +{+  int context, nprow, npcol, myrow, mycol, blocks;+  int MB, NB, gRows, gCols, lRows, lCols;+  int cOffset, rOffset;+  DistLayout *block_layout;+  PPMatrix *m1;+  PPDistType dist;+  +  if (!isValidMatrix(in)) { +    cerr << "Error in MatrixManager::getDistWindows: invalid PPMatrixID " +	 << in << endl; cerr.flush();+    return NULL;+  }+  +  MB = getMB(in);+  NB = getNB(in);+  gRows = getGRows(in);+  gCols = getGCols(in);+  lRows = getLRows(in);+  lCols = getLCols(in);+  m1 = (mat.find(in))->second;+  dist = m1->getDist();+  block_layout = new DistLayout; /* we won't destroy this here. Watch this! */+  block_layout->lCols = lCols;+  block_layout->lRows = lRows;+  /* set the context so that the BLACS routines will give us useful info */+  switch(dist) {+  case CYCLIC:    +    context = sqtxt;+    break;+  case ROW:       +    context = rowtxt;+    break;+  case COL:       +    context = coltxt; +    break;+  default:+    cerr << "MatrixManager::getDistWindows - invalid dist type" +	 << endl; cerr.flush();+    return NULL;+  }+  +  BLACS_GRIDINFO(context, nprow, npcol, myrow, mycol);+  +  /* blocks is the maximum number of blocks on the processor.+     We will use the ceilings of the below ratios to account for+     the slack picked up by some processors for non-ideally-sized+     matricies. We will use blocks to initialize some data structures.+  */+  blocks = +    (int)ceil((double)gRows/(nprow*MB))*(int)ceil((double)gCols/(npcol*NB));+  //cout<<"("<<rank<<") :::::: Max blocks on this proc: "<<blocks<<endl; +  block_layout->blocks = blocks;+  block_layout->block_data = new int[blocks*6];+  /* +     block_data :+     block_data[block#*6+0] = upper left row+     block_data[block#*6+1] = upper left col+     block_data[block#*6+2] = lower right row+     block_data[block#*6+3] = lower right col+     block_data[block#*6+4] = row offset into raw+     block_data[block#*6+5] = column offset into raw +     if all of the entries are zeros, then that block has no data in it.+  */+  switch(dist) {+  case CYCLIC:    +    int I,J,l,m,erow,ecol, k;+    l = 0;+    m = 0;+    k = 0;+    rOffset = 0;+    cOffset = 0;+    while((I = (l*nprow+myrow)*MB) < gRows)+      {+	m = 0;+	l ++;+	cOffset = 0;+	while((J = (m*npcol+mycol)*NB) < gCols)+	  {+	    m++;+	    erow = I+MB-1;+	    ecol = J+NB-1;+	    if(erow >= gRows)+	      erow = gRows - 1;+	    if(ecol >= gCols)+	      ecol = gCols - 1;+	    assert(k<blocks); +	    block_layout->block_data[6*k+0] = I;+	    block_layout->block_data[6*k+1] = J;+	    block_layout->block_data[6*k+2] = erow;+	    block_layout->block_data[6*k+3] = ecol;+	    block_layout->block_data[6*k+4] = rOffset;+	    block_layout->block_data[6*k+5] = cOffset;+	    k++;+	    /*+	    cout<<"("<<rank<<") : cyclic: from ("<<I<<", "<<J<<") to ("+		<<erow<<", "<<ecol<<"): Offset ("<<rOffset<<", "<<cOffset+		<<") into the node's raw data.\n";+	    */+	    cOffset = cOffset + NB;+	  }+	rOffset = rOffset + MB;+      } +    if( k < blocks)+      {+	/* this node doesn't have as many blocks as it could. +	 * Fill the last blocks w/ zeros+	 */+	for(;k<blocks;k++)+	  {+	    block_layout->block_data[6*k+0] = 0;+	    block_layout->block_data[6*k+1] = 0;+	    block_layout->block_data[6*k+2] = 0;+	    block_layout->block_data[6*k+3] = 0;+	    block_layout->block_data[6*k+4] = 0;+	    block_layout->block_data[6*k+5] = 0;+	  }+      }	+    break;+  case ROW:       +    assert(blocks = 1);+    myrow = MB*myrow;+    if(myrow >= gRows)+      myrow = -1; /* shouldn't be */+    mycol = 0;+    if(myrow == -1)+      {+	block_layout->block_data[0] = 0;+	block_layout->block_data[1] = 0;+	block_layout->block_data[2] = 0;+	block_layout->block_data[3] = 0;+	block_layout->block_data[4] = 0;+	block_layout->block_data[5] = 0;+      }+    else+      {+	block_layout->block_data[0] = myrow;+	block_layout->block_data[1] = mycol;+	block_layout->block_data[2] = myrow+lRows-1;+	block_layout->block_data[3] = mycol+lCols-1;+	assert(myrow*NB < gCols*gRows);+	block_layout->block_data[4] = myrow*NB;+	block_layout->block_data[5] = 0;+      }+    /*+    cout<<"from ("<<myrow<<", "<<mycol<<") to ("+	<<myrow+lRows-1<<", "<<mycol+lCols-1<<")\n";+    */    +    break;+  case COL:       +    mycol = NB*mycol;+    if(mycol >= gCols)+      mycol = -1; /* shouldn't be */+    myrow = 0;+    /*+    cout<<"from ("<<myrow<<", "<<mycol<<") to ("+	<<myrow+lRows-1<<", "<<mycol+lCols-1<<")\n";+    */+    if(mycol == -1)+      {+	block_layout->block_data[0] = 0;+	block_layout->block_data[1] = 0;+	block_layout->block_data[2] = 0;+	block_layout->block_data[3] = 0;+	block_layout->block_data[4] = 0;+	block_layout->block_data[5] = 0;+      }+    else+      {+	block_layout->block_data[0] = myrow;+	block_layout->block_data[1] = mycol;+	block_layout->block_data[2] = myrow+lRows-1;+	block_layout->block_data[3] = mycol+lCols-1;+	block_layout->block_data[4] = 0;+	assert(mycol*MB < gCols*gRows);+	block_layout->block_data[5] = mycol*MB;+      }+    break;+  default:+    cerr << "MatrixManager::getStartCol - invalid dist type" +	 << endl; cerr.flush();+    return NULL;+  }+  return block_layout;   +}diff -rbBd --minimal -U 3 matlabpv2_org/server/PackageManager.cc matlabpv2/server/PackageManager.cc--- matlabpv2_org/server/PackageManager.cc	Tue May  7 20:24:57 2002+++ matlabpv2/server/PackageManager.cc	Thu Apr 18 19:01:41 2002@@ -108,6 +108,13 @@ #endif  +#ifdef PPVISUAL+  PPPackage *visual = new PPPackage("PPVisual");+  PPVisual_initialize(visual,Logger);+  pmap["PPVisual"] = visual;+  * log << "PackageManager - loaded package: PPVisual " << endl;+#endif+   return 1;    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -