OK Matt...will try that out. Thanks. Matthew Knepley wrote: > On Nov 18, 2007 12:21 PM, Tim Stitt <timothy.stitt at ichec.ie> wrote: > >> Oh...ok I am now officially confused. >> >> I have developed a serial code for getting the first k rows of an >> inverted sparse matrix..thanks to PETSC users/developers help this past >> week. >> >> In that code I was calling MatLUFactorSymbolic() and >> MatLUFactorNumeric() to factor the sparse matrix and then calling >> MatSolve for each of the first k columns in the identity matrix as the >> RHS. I then varied the matrix type from the command line to test MUMPS, >> SUPERLU etc. for the best performance. >> >> Now I just want to translate the code into a parallel version...so I now >> assemble rows in a distributed fashion and now working on translating >> the MatLUFactorSymbolic() and MatLUFactorNumeric() calls which require >> index sets...hence my original question. >> >> Are you saying that I now shouldn't be calling those routines? >> > > You can certainly do it that way, but it is much easier to just use a KSP. > You set the Mat using KSPSetOperators, then KSPSetType(ksp, KSPPREONLY), > and PCSetType(pc, PCLU) (or MUMPS or whatever). Then KSPSolve() with the > identity columns. We handle everything else. > > Matt > > >> Tim. >> >> Matthew Knepley wrote: >> >>> On Nov 18, 2007 11:52 AM, Tim Stitt <timothy.stitt at ichec.ie> wrote: >>> >>> >>>> Matt, >>>> >>>> It is in setup for MatLUFactorSymbolic() and MatLUFactorNumeric() calls >>>> which require index sets. I have distributed my rows across the >>>> processes and now just a bit confused about the arguments to the >>>> ISCreateGeneral() routine to set up the IS sets used by the Factor >>>> routines in parallel. >>>> >>>> So my basic question is what in general is the length and integers that >>>> get passed to ISCreateGeneral() when doing this type of calculation in >>>> parallel? Are they local index values (0..#rows on process-1) or do they >>>> refer to the distributed indices of the global matrix? >>>> >>>> >>> To be consistent, these would be local sizes and global numberings. However, >>> I am not sure why you would be doing this. I do not believe any of the >>> parallel >>> LU packages accept an ordering from the user (they calculate their own), >>> and I would really only use them from a KSP (or PC at the least). >>> >>> Matt >>> >>> >>> >>>> Tim. >>>> >>>> >>>> Matthew Knepley wrote: >>>> >>>> >>>>> On Nov 18, 2007 11:34 AM, Tim Stitt <timothy.stitt at ichec.ie> wrote: >>>>> >>>>> >>>>> >>>>>> OK..so I should be using the aggregate length returned by >>>>>> MatGetOwnershipRange() routine? >>>>>> >>>>>> >>>>>> >>>>> If you are using it to permute a Mat, yes. >>>>> >>>>> Matt >>>>> >>>>> >>>>> >>>>> >>>>>> Thanks Matt for you help. >>>>>> >>>>>> >>>>>> Matthew Knepley wrote: >>>>>> >>>>>> >>>>>> >>>>>>> IS are not really parallel, so all the lengths, etc. only refer to >>>>>>> local things. >>>>>>> >>>>>>> Matt >>>>>>> >>>>>>> On Nov 18, 2007 11:22 AM, Tim Stitt <timothy.stitt at ichec.ie> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>> Just wanted to know if the "the length of the index set" for a call to >>>>>>>> ISCreateGeneral() in a parallel code, is a global length, or the length >>>>>>>> of the local elements on each process? >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>>> Tim. >>>>>>>> >>>>>>>> -- >>>>>>>> Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie> >>>>>>>> HPC Application Consultant - ICHEC (www.ichec.ie) >>>>>>>> >>>>>>>> Dublin Institute for Advanced Studies >>>>>>>> 5 Merrion Square - Dublin 2 - Ireland >>>>>>>> >>>>>>>> +353-1-6621333 (tel) / +353-1-6621477 (fax) >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> -- >>>>>> Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie> >>>>>> HPC Application Consultant - ICHEC (www.ichec.ie) >>>>>> >>>>>> Dublin Institute for Advanced Studies >>>>>> 5 Merrion Square - Dublin 2 - Ireland >>>>>> >>>>>> +353-1-6621333 (tel) / +353-1-6621477 (fax) >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> -- >>>> Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie> >>>> HPC Application Consultant - ICHEC (www.ichec.ie) >>>> >>>> Dublin Institute for Advanced Studies >>>> 5 Merrion Square - Dublin 2 - Ireland >>>> >>>> +353-1-6621333 (tel) / +353-1-6621477 (fax) >>>> >>>> >>>> >>>> >>> >>> >>> >> -- >> Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie> >> HPC Application Consultant - ICHEC (www.ichec.ie) >> >> Dublin Institute for Advanced Studies >> 5 Merrion Square - Dublin 2 - Ireland >> >> +353-1-6621333 (tel) / +353-1-6621477 (fax) >> >> >> > > > >
-- Dr. Timothy Stitt <timothy_dot_stitt_at_ichec.ie> HPC Application Consultant - ICHEC (www.ichec.ie) Dublin Institute for Advanced Studies 5 Merrion Square - Dublin 2 - Ireland +353-1-6621333 (tel) / +353-1-6621477 (fax)
