These are chat archives for elemental/chat

7th
Jul 2017
Hari Sundar
@hsundar
Jul 07 2017 19:16

Jack, I am trying to permute the columns of a DistMatrix ... I tried to use DistPermutation, but am not able to get it to work properly. Is there a simple example that I can refer to? This is what I tried,

       El::DistPermutation Omega(el_grid);

        Omega.ReserveSwaps(fl.local_size());
        unsigned long idx = this->getFirstLocalRow();
        for (int i=0; i<fl.local_size(); ++i, ++idx) {
            Omega.Swap(idx, fl[i].index);
        }

        Omega.PermuteCols(el_mat);

here fl[i].index stores the global index of the column that should be moved to the i th local column. This is basically a columnwise shuffling of data. Is this the best way to do this. Thanks,

e.g., the blocked partially pivoted LU, Cholesky, and Bunch-Kauffman
there is nolocal-to-global map, the DistPermutation accepts global swap indices
i.e., a sequence of Swap calls composes transpositions to define a permutation
the application routines worry about the underlying matrix distribution
Hari Sundar
@hsundar
Jul 07 2017 20:33
thanks ...
Jack Poulson
@poulson
Jul 07 2017 20:49
no problem