Veltz Romain romain.veltz at inria.fr
Sun Dec 2 15:14:58 MST 2012

```Hello,

I seek some help for some large scale problem.

I am doing some computation with Epetra on a vector of X size 262144 component. Note that I am doing multicore programming.
I want to compute the Matrix-Vector product W*X where W is a Epetra_CrsMatrix. In my problem, roughly 5% of each row are nonzero.
Hence, my first question is:
- Q1: Is it too much for sparsity? Should the number of nonzero elements be much smaller?

Then, I create the matrix W:

int NumGlobalElements = nx_*ny_;
Epetra_Map * Map = new Epetra_Map(NumGlobalElements,0,*Comm);
int NumMyElements = Map->NumMyElements();
cout<< "NumMyElements = "<<NumMyElements<<endl;std::flush(cout);
int * MyGlobalElements = Map->MyGlobalElements();
// We ask for maxNbLR nonzero elements per row
cout<<"Creation de matrice...";std::flush(cout);
W = Teuchos::rcp(new Epetra_FECrsMatrix(Copy,*Map,maxNbLR));
cout<<"done.\n";
/*
do some stuff on the rows
*/
boolres = jLR->FillComplete();
if(boolres!=0)
{
cout<<"Pb with jLR->FillComplete();\n";
throw 1;
}
return 0;
}

My problem is that just before  the call
W = Teuchos::rcp(new Epetra_FECrsMatrix(Copy,*Map,maxNbLR));
the memory usage explode. Hence, to save up some memory,my second question is:

-Q2 Can I free the map Map with delete[] Map?