[petsc-dev] AD support in PETSc?
Barry Smith
bsmith at mcs.anl.gov
Sun Sep 10 12:13:14 CDT 2017
> On Sep 10, 2017, at 6:15 AM, Stefano Zampini <stefano.zampini at gmail.com> wrote:
>
> Should the references to ADIFOR listed below be removed?
Yes
> It seems PETSc does no longer provide support for automatic differentiation. I never used AD support in PETSc, but I was considering adding some reverse mode support to compute the transpose of the Jacobian matrices in adjoint computations. May ask why was it removed?
It sucked. Though AD seems a good idea, the AD community, for whatever reason has never been able to produce anything usable for libraries.
Barry
>
>
> [szampini at localhost petsc]$ git grep -i adifor
> bin/adiforfix.py:# $Id: adiforfix.py,v 1.3 2001/08/24 16:32:18 bsmith Exp $
> bin/adiforfix.py:# | adiforfix.py
> include/petsc/private/matimpl.h: PetscErrorCode (*setvaluesadifor)(Mat,PetscInt,void*);
> include/petscmat.h: MATOP_SET_VALUES_ADIFOR=74,
> lib/petsc/conf/test:testexamples_ADIFOR: ${TESTEXAMPLES_ADIFOR}
> lib/petsc/conf/test: -@ if test ${PRINT_PROGRESS}foo = debugtestfoo -a -n "${TESTEXAMPLES_ADIFOR}"; then printf "Running examples in `pwd`:\n ${TESTEXAMPLES_ADIFOR}\n"; fi
> lib/petsc/conf/test:buildexamples_ADIFOR:
> lib/petsc/conf/test: -@${OMAKE} testexamples_ADIFOR TESTEXAMPLES_ADIFOR=`echo ${TESTEXAMPLES_ADIFOR} | sed s/runex[0-9]*[a-z0-9_]*//g`
> src/docs/tao_tex/manual/mathprog.bib:@TechReport{bischof.carle.ea:adifor,
> src/docs/tao_tex/manual/mathprog.bib: title = "{ADIFOR} 2.0 User's Guide",
> src/docs/tex/petscapp.bib: title = "Using {ADIFOR} and {ADIC} to Provide a {J}acobian for the {SNES} Component of {PETSc}",
> src/mat/f90-mod/petscmat.h: PetscEnum MATOP_SET_VALUES_ADIFOR
> src/mat/f90-mod/petscmat.h: parameter(MATOP_SET_VALUES_ADIFOR=74)
> src/snes/examples/tutorials/makefile: -@${MPIEXEC} -n 2 ./ex5f -adifor_jacobian -snes_monitor_short -ksp_gmres_cgs_refinement_type refine_always > ex5f_4.tmp 2>&1;\
> src/snes/examples/tutorials/makefile: -@${MPIEXEC} -n 2 ./ex5f -adiformf_jacobian -snes_monitor_short -ksp_gmres_cgs_refinement_type refine_always > ex5f_5.tmp 2>&1;\
> src/snes/examples/tutorials/makefile:TESTEXAMPLES_ADIFOR = ex5f.PETSc runex5f_2 ex5f.rm
>
>
> --
> Stefano
More information about the petsc-dev
mailing list