[Trilinos-Users] Sending the resulting eigenvector to master node

Thornquist, Heidi K hkthorn at sandia.gov
Wed Jun 2 16:58:09 MDT 2010


Hi Mehmet,

If you are getting a seg fault that traces back to LAPACK, then that would incriminate the "Multiply" method.  If you comment out
that line, does that help?  Also, I'm not sure how safe it is to call multiply on the same multivector that you are including in the arguments and also
asking to be zeroed out.

Thanks,
Heidi



On 6/2/10 2:02 PM, "Mehmet Salih YILDIRIM" <linux at isadamlari.org> wrote:

Hey!

I'd been trying to send the resulting eigenvector to the master node (that is, with MyPID() =0) and i wrote the following code:

 int numMyElements;

    if (Comm.MyPID() == 0)
        numMyElements = segment->pixelIndices.size(); //that is, the total number of elements of an eigenvector (also the row count of operator of eigenproblem)
    else
        numMyElements = 0;

    Epetra_Map targetMap(-1, numMyElements, 0, Comm);

    Epetra_Vector eigenVector(targetMap); //will be collected on the master node.

    Teuchos::RCP<Epetra_Vector> vectorToSend;

    const Epetra_BlockMap *sourceMap;
    if (solverReturn == Anasazi::Converged) {
        Anasazi::Eigensolution<ST, MV> solution = generalizedProblem->getSolution();

        int numEigenPairs = solution.numVecs;

        Teuchos::RCP<MV> evecs = solution.Evecs;
        std::vector<Anasazi::Value<ST> > evals = solution.Evals;

        int ourEvIdx = 0;
        if (numEigenPairs == 2)
            if (evals[0].realpart < evals[1].realpart)
                ourEvIdx = 1;
        evecs->Multiply(1,*invSqrtD, *evecs, 0.0);
        vectorToSend = Teuchos::rcp((*evecs)(ourEvIdx));
        sourceMap = &vectorToSend->Map();
    }

    Epetra_Import importer(targetMap, *sourceMap);

    eigenVector.Import(*vectorToSend, importer, Add); // send eigenvector to processor 1

However i get a fault like : (something like segmentation fault i think)

*** glibc detected *** ./opencv_deneme: corrupted double-linked list: 0x000000002006cec0 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3f7b2723e5]
/lib64/libc.so.6(cfree+0x4b)[0x3f7b27273b]
./opencv_deneme[0x4c976f]
./opencv_deneme[0x482145]
./opencv_deneme[0x42a292]
./opencv_deneme[0x482145]
./opencv_deneme[0x40f0be]
./opencv_deneme[0x40ea52]
./opencv_deneme[0x40ea52]
./opencv_deneme[0x410294]
./opencv_deneme[0x4751e6]
/lib64/libc.so.6(__libc_start_main+0xf4)[0x3f7b21d994]
./opencv_deneme(__gxx_personality_v0+0x299)[0x40b9d9]
======= Memory map: ========
00400000-0051e000 r-xp 00000000 03:01 9864086                            /home/proje/trilinos_ile_ilk_deneme/opencv deneme/dist/Debug/GNU-Linux-x86/opencv_deneme
0071e000-00725000 rw-p 0011e000 03:01 9864086                            /home/proje/trilinos_ile_ilk_deneme/opencv deneme/dist/Debug/GNU-Linux-x86/opencv_deneme
1fff8000-20100000 rw-p 1fff8000 00:00 0                                  [heap]
3a68600000-3a689f6000 r-xp 00000000 03:01 6687839                        /usr/lib64/atlas/liblapack.so.3.0
3a689f6000-3a68bf6000 ---p 003f6000 03:01 6687839                        /usr/lib64/atlas/liblapack.so.3.0
3a68bf6000-3a68bf9000 rw-p 003f6000 03:01 6687839                        /usr/lib64/atlas/liblapack.so.3.0
3a68bf9000-3a68cfd000 rw-p 3a68bf9000 00:00 0
3a69600000-3a69cec000 r-xp 00000000 03:01 6687846                        /usr/lib64/atlas/libatlas.so.3.0
3a69cec000-3a69eeb000 ---p 006ec000 03:01 6687846                        /usr/lib64/atlas/libatlas.so.3.0
3a69eeb000-3a69ef5000 rw-p 006eb000 03:01 6687846                        /usr/lib64/atlas/libatlas.so.3.0
3a6c200000-3a6c254000 r-xp 00000000 03:01 5380294                        /usr/lib64/libblas.so.3.0.3
3a6c254000-3a6c453000 ---p 00054000 03:01 5380294                        /usr/lib64/libblas.so.3.0.3
3a6c453000-3a6c454000 rw-p 00053000 03:01 5380294                        /usr/lib64/libblas.so.3.0.3
3a6ca00000-3a6ca1e000 r-xp 00000000 03:01 6687833                        /usr/lib64/atlas/libcblas.so.3.0

and so on.


So how may i solve this problem? I couldn't figure out where I am mistaken.

Any help is appreciated,
Mehmet Salih YILDIRIM



-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20100602/1d173d64/attachment-0001.html 


More information about the Trilinos-Users mailing list