[petsc-users] memory scalable AO
Barry Smith
bsmith at mcs.anl.gov
Wed Feb 17 17:15:39 CST 2016
Here is patch.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-fortran-dmdasetaotype.patch
Type: application/octet-stream
Size: 1495 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20160217/1aaba366/attachment.obj>
-------------- next part --------------
If it works for you I'll put it in maint and master tomorrow.
Barry
> On Feb 17, 2016, at 3:46 PM, Randall Mackie <rlmackie862 at gmail.com> wrote:
>
> The attached test program demonstrates the problem. When I run it, I get the following output:
>
> [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/documentation/faq.html#valgrind
> [0]PETSC ERROR: or try http://valgrind.org on GNU/linux and Apple Mac OS X 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] PetscStrlen line 150 /home/rmackie/PETSc/petsc-3.6.3/src/sys/utils/str.c
> [0]PETSC ERROR: [0] PetscStrallocpy line 185 /home/rmackie/PETSc/petsc-3.6.3/src/sys/utils/str.c
> [0]PETSC ERROR: [0] DMDASetAOType line 84 /home/rmackie/PETSc/petsc-3.6.3/src/dm/impls/da/daindex.c
> [0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
> [0]PETSC ERROR: Signal received
> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
>
>
> Randy
>
>
>> On Feb 17, 2016, at 11:35 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>>
>>
>> Should be ok. Do you have implicit none and the correct include files so AOMEMORYSCALABLE is defined?
>>
>> I think you need to run in the debugger next to track why this happens.
>>
>> Barry
>>
>>> On Feb 17, 2016, at 11:33 AM, Randall Mackie <rlmackie862 at gmail.com> wrote:
>>>
>>> What is the correct way to set the AO for a DMDA to be the memory scalable version?
>>>
>>> I have tried this:
>>>
>>> call DMDASetAOType(da,AOMEMORYSCALABLE,ierr)
>>> call DMDAGetAO(da,ao,ierr)
>>>
>>> The code compiles fine, but I simply get a Segmentation Violation when I run it:
>>>
>>> [3]PETSC ERROR: ------------------------------------------------------------------------
>>> [3]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range
>>> [3]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger
>>> [3]PETSC ERROR: or see http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind
>>> [3]PETSC ERROR: or try http://valgrind.org on GNU/linux and Apple Mac OS X to find memory corruption errors
>>> [3]PETSC ERROR: configure using --with-debugging=yes, recompile, link, and run
>>> [3]PETSC ERROR: to get more information on the crash.
>>> [3]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
>>> [3]PETSC ERROR: Signal received
>>> [3]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
>>> [3]PETSC ERROR: Petsc Release Version 3.6.3, Dec, 03, 2015
>>> [3]PETSC ERROR: Configure options PETSC_ARCH=linux-gfortran-opt --with-clean=1 --with-scalar-type=complex --with-debugging=0 --with-fortran=1 --download-mpich=./mpich-3.1.3.tar.gz --FOPTFLAGS=-O3 --COPTFLAGS=-O3
>>> [3]PETSC ERROR: #1 User provided function() line 0 in unknown file
>>> application called MPI_Abort(MPI_COMM_WORLD, 59) - process 3
>>> [cli_3]: aborting job:
>>>
>>>
>>> In fact, I get the same thing even if I set the AOType to AOBASIC, in other words
>>>
>>> call DMDASetAOTYPE(da,AOBASIC,ierr)
>>>
>>>
>>> Previously, I did not set an AOType, and only called DMDAGetAO, which works fine, and from what I can tell sets the type to basic.
>>>
>>>
>>> Thanks, Randy M.
>>
> <test.F90><makefile>
More information about the petsc-users
mailing list