Hi, For example, if N is known, I call PetscSplitOwnership(PETSC_COMM, PETSC_DECIDE , &N) . However, how to get the start and end value like PetscMapGetLocalRange?
Best, Yixun ----- Original Message ----- From: "Matthew Knepley" <[email protected]> To: <petsc-users at mcs.anl.gov> Sent: Thursday, November 02, 2006 10:27 PM Subject: Re: how to use PetscMap? > http://www-unix.mcs.anl.gov/petsc/petsc-as/snapshots/petsc-current/docs/manualpages/Sys/PetscSplitOwnership.html > > Matt > > On 11/2/06, Yixun Liu <yxliu at fudan.edu.cn> wrote: >> Hi, >> >> I want to use PetscMap to gets the range of values owned by this process, >> e.g.,PetscMapGetLocalRange(map,&Istart,&Iend). Then according to Istart and >> Iend to determine the parameters used by MatCreateMPIAIJ to create a matrix. >> >> Best, >> >> Yixun >> >> ----- Original Message ----- >> From: "Matthew Knepley" <knepley at gmail.com> >> To: <petsc-users at mcs.anl.gov> >> Sent: Thursday, November 02, 2006 9:56 PM >> Subject: Re: how to use PetscMap? >> >> >> > There is no replacement. What are you tring to do here? >> > >> > Matt >> > >> > On 11/2/06, Yixun Liu <yxliu at fudan.edu.cn> wrote: >> >> Hi, >> >> >> >> I want to change the code, which is based on old version PETSC to version >> >> 2.3.2. The old petsc code are, >> >> >> >> PetscMap map; >> >> ierr = >> >> PetscMapCreateMPI(PETSC_COMM_WORLD,PETSC_DECIDE,n,&map);CHKERRQ(ierr); >> >> ierr = PetscMapGetLocalRange(map,&Istart,&Iend); CHKERRQ(ierr); >> >> ierr = PetscMapDestroy(map); CHKERRQ(ierr); >> >> >> >> If 2.3.2 does not support PetscMap, which class should I use? >> >> >> >> Best, >> >> >> >> Yixun >> >> >> >> >> >> >> >> ----- Original Message ----- >> >> From: "Matthew Knepley" <knepley at gmail.com> >> >> To: <petsc-users at mcs.anl.gov> >> >> Sent: Thursday, November 02, 2006 9:07 PM >> >> Subject: Re: how to use PetscMap? >> >> >> >> >> >> > No, in 2.3.2 PetscMap no longer exists. >> >> > >> >> > Matt >> >> > >> >> > On 11/2/06, Yixun Liu <yxliu at fudan.edu.cn> wrote: >> >> >> >> >> >> >> >> >> Hi, >> >> >> >> >> >> I reveive the error as, >> >> >> >> >> >> [0]PETSC ERROR: >> >> >> ------------------------------------------------------------------------ >> >> >> [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, >> >> >> probably memory access out of range >> >> >> [0]PETSC ERROR: Try option -start_in_debugger or >> >> >> -on_error_attach_debugger >> >> >> [0]PETSC ERROR: or see >> >> >> http://www.mcs.anl.gov/petsc/petsc-as/documentation/troubleshooting.html#Signal[0]PETSC >> >> >> ERROR: or try http://valgrind.org on linux or man libgmalloc on Apple >> >> >> to >> >> >> find memory corruption errors >> >> >> [0]PETSC ERROR: likely location of problem given in stack below >> >> >> [0]PETSC ERROR: --------------------- Stack Frames >> >> >> ------------------------------------ >> >> >> [0]PETSC ERROR: Note: The EXACT line numbers in the stack are not >> >> >> available, >> >> >> [0]PETSC ERROR: INSTEAD the line number of the start of the >> >> >> function >> >> >> [0]PETSC ERROR: is given. >> >> >> [0]PETSC ERROR: [0] PetscMapInitialize line 41 >> >> >> src/vec/vec/impls/mpi/d:\MyVC\PETSC-~1.2-P\src\vec\vec\impls\mpi\pmap.c >> >> >> [0]PETSC ERROR: --------------------- Error Message >> >> >> ------------------------------------ >> >> >> [0]PETSC ERROR: Signal received! >> >> >> [0]PETSC ERROR: >> >> >> ------------------------------------------------------------------------ >> >> >> [0]PETSC ERROR: Petsc Release Version 2.3.2, Patch 3, Fri Sep 29 >> >> >> 17:09:34 >> >> >> CDT 2006 HG revision: >> >> >> 9215af156a9cbcdc1ec666e2b5c7934688ddc526 >> >> >> [0]PETSC ERROR: See docs/changes/index.html for recent updates. >> >> >> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting. >> >> >> [0]PETSC ERROR: See docs/index.html for manual pages. >> >> >> [0]PETSC ERROR: >> >> >> ------------------------------------------------------------------------ >> >> >> [0]PETSC ERROR: Unknown Name on a cygwin-cx named DMRC-6700512 by >> >> >> DMRC-user >> >> >> Thu Nov 02 16:22:47 2006 >> >> >> [0]PETSC ERROR: Libraries linked from >> >> >> /cygdrive/D/MyVC/petsc-2.3.2-p3/lib/cygwin-cxx-debug >> >> >> [0]PETSC ERROR: Configure run at Wed Nov 1 10:08:10 2006 >> >> >> [0]PETSC ERROR: Configure options >> >> >> --with-mpi-dir=/cygdrive/d/MPICH2 --with-cc="win32fe cl" >> >> >> --with-fc=0 --with-cxx="win32fe cl" --with-clanguage=cxx >> >> >> --with-blas-lapack-dir=/cygdrive/D/MyVC/petsc-2.3.2-p3/externalpackages/w_mkl_serial_p_8.1.001/mkl_serial_8.1/mkl_8.1_serial/ia32/lib >> >> >> COPTFLAGS="-MD -Z7" CXXOPTFLAGS="-MD -Z7" --useThreads=0 >> >> >> --with-shared=0 >> >> >> [0]PETSC ERROR: >> >> >> ------------------------------------------------------------------------ >> >> >> [0]PETSC ERROR: User provided function() line 0 in unknown directory >> >> >> unknown >> >> >> file >> >> >> unable to read the cmd header on the pmi context, Undefined dynamic >> >> >> error >> >> >> code. >> >> >> >> >> >> job aborted: >> >> >> rank: node: exit code[: error message] >> >> >> 0: dmrc-6700512: 59: application called MPI_Abort(MPI_COMM_WORLD, 59) - >> >> >> process 0 >> >> >> >> >> >> I think this error maybe caused by these codes, >> >> >> >> >> >> PetscMap *map; >> >> >> ierr = PetscMapInitialize(PETSC_COMM_WORLD, map); >> >> >> CHKERRQ(ierr); >> >> >> ierr = PetscMapSetSize (map, n); >> >> >> ierr = PetscMapGetLocalRange(map,&Istart,&Iend); >> >> >> CHKERRQ(ierr); >> >> >> >> >> >> Is it correct to use the PetscMap like this? >> >> >> >> >> >> Best, >> >> >> >> >> >> Yixun >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> > >> >> > -- >> >> > "Failure has a thousand explanations. Success doesn't need one" -- Sir >> >> > Alec Guiness >> >> > >> >> >> >> >> > >> > >> > -- >> > "Failure has a thousand explanations. Success doesn't need one" -- Sir >> > Alec Guiness >> > >> >> > > > -- > "Failure has a thousand explanations. Success doesn't need one" -- Sir > Alec Guiness >
