Hi-
I have developed a sparse matrix vector multiplication algorithm that requires reordering the columns and rows of A, the elements of x and the elements in y in the problem A*x = y. The reordering is necessary for the particular GPU architecture this method is aimed at. Basically the rows of A are rearranged yielding A'*x=y'. However x is no longer consistently number in accordance with y', so the columns of A' and the elements of x are rearranged such that A''*x'=y', where the x' and y' numbering is consistent.
Currently, I am using custom usolve and uasble routines for a full matrix and I am using whatever numbering FEAP gives me. I wanted to know how one would go about reordering the ids in FEAP, in such a way so that FEAP will return x'. However, if possible, I would like to avoid modifying my imposed boundary conditions for the mesh, as the displacement boundary conditions are non-trivially defined. Basically I wanted to know if there is a good way to go about doing this without having to change the input file, as I would like to compare it to serial and parallel version of FEAP.
Thanks,
-Jon