[Trilinos-Users] Issues with parallelization of EpetraVectors, compatibility with NOX

Kar, Debashis * Debashis.Kar at fda.hhs.gov
Fri Aug 24 14:03:17 MDT 2012


Hi all

I wished to use a vector like data structure while solving a system of coupled nonlinear equations (PDEs). I am using the LinearSystemAztec00 solver of the NOX package and Epetra Vectors as the data structure. The independent variables are made part of the same vector U - such that say we need 10 entries for each of these variables, then the first 10 entries of U belong to variable A, the next 10 to variable B and so on.

We intended to parallelize the computation so as to speed things up. The issue we are facing is this - say we divide EpetraVector U between 2 machines; then instead of the first 5 entries of each A and B being fed to machine 1 and the next 5 (of A, B) fed to machine 2, what happens is that the first 10 entries of U (all of A) are fed to machine 1 and the next 10 (all of B) are fed to machine 2.

One way to overcome this might be to use a MultiVector instead where each independent variable will correspond to a row in the U (such that A=U(1,;), B = U(2,:) and so on). Is MultiVector compatible with the NOX solvers? If not can you point out to relevant data structures which are compatible with NOX and can be effectively parallelized? Otherwise we might need to redefine the mapping between EpetraVector U and the set of independent variables (A,B,...) each time we vary the number of machines during a parallel run, which is cumbersome and non-optimal.

Also for parallelization is it advisable to use OpenMP or should one only stick to MPI ?

Best
Debashis

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20120824/32f1e442/attachment.html 


More information about the Trilinos-Users mailing list