History log of /petsc/src/tao/bound/impls/bncg/bncg.h (Results 1 – 25 of 43)
Revision Date Author Comments
# 9dd11ecf 25-Aug-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2023-08-17/header-guard-check' into 'main'

Check header guards

See merge request petsc/petsc!6822


# a4963045 18-Aug-2023 Jacob Faibussowitsch <jacob.fai@gmail.com>

Convert all header guards to pragma once


# 3ea99036 17-Aug-2023 Jacob Faibussowitsch <jacob.fai@gmail.com>

Fix some malformed if !defined() header guards


# 45053426 10-Jul-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'hongzh/petsc4py--bncg-linesearch' into 'main'

Add BNCG and TaoLineSearch in petsc4py.

See merge request petsc/petsc!6660


# d6e07cdc 10-Jul-2023 Hong Zhang <hongzhang@anl.gov>

Add BNCG and TaoLineSearch in petsc4py.


# 061e922f 22-Sep-2022 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2022-09-21/2-bike-2-shed' into 'main'

Feature: Bicycle Storage Facility 2

See merge request petsc/petsc!5661


# d71ae5a4 21-Sep-2022 Jacob Faibussowitsch <jacob.fai@gmail.com>

source code format changes due to .clang-format changes


# 58d68138 23-Aug-2022 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2022-08-21/clang-format-source' into 'main'

format repository with clang-format

See merge request petsc/petsc!5541


# 9371c9d4 22-Aug-2022 Satish Balay <balay@mcs.anl.gov>

clang-format: convert PETSc sources to comply with clang-format


# a8cf78f8 24-May-2021 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2021-05-16/fix-double-lines' into 'main'

Fix typos in source

See merge request petsc/petsc!3984


# 4e278199 16-May-2021 Barry Smith <bsmith@mcs.anl.gov>

Remove all double blank lines from source

Commit-type: petsc-style
/2h


# 67c04edd 12-Jan-2021 Satish Balay <balay@mcs.anl.gov>

Merge branch 'denera/tao-qn-recycle-fixes' into 'master'

QN and CG history recycling interfaces

See merge request petsc/petsc!3549


# 414d97d3 12-Jan-2021 Alp Dener <adener@anl.gov>

unified recycle flags for Tao solvers with consistent set/get interfaces


# 20cd54da 18-Sep-2018 Joseph Pusztay <josephpusztay@Josephs-MacBook-Pro.local>

Merge from master


# d49c3730 11-Sep-2018 Matthew G. Knepley <knepley@gmail.com>

Merge branch 'master' into arcowie-rem/feature-error-logging

* master: (345 commits)
Update dev notes for the coming release
Increase patchlevel to 3.9.4
doc fixes
Added some AIJSELL tests t

Merge branch 'master' into arcowie-rem/feature-error-logging

* master: (345 commits)
Update dev notes for the coming release
Increase patchlevel to 3.9.4
doc fixes
Added some AIJSELL tests that mirror the SELL tests.
Bib: More refs
Removed use of hardwired -1 to represent PETSC_NULL_XXX object, since the null value is now 0.
fix memleaks flagged by valgrind
ex62: disable long running test and workaround differences in iteration counts on various builds.
Add FAQ we can point to when users get error messages such as: "PETSc was configured with one OpenMPI mpi.h version but now appears to be compiling using a different OpenMPI mpi.h version"
swith test from mpich to openmpi as mpich ch3:sock is unuserable per PetscShmCommGet()
DM: Forgot to move include statement
fix nightlybuild issues - disable hypre [for openmp] and fix uninitialized variables
tests: enable openmp and hwloc with one of the mumps tests
Default BoomerAMG smoothers
Configure: Revert changes from debb90c, so that we are back to the original Libmesh
Configure: Reverted change for Libmesh from 83cd5d7
Split vecimpl.h into vecimpl.h and vecscatterimpl.h
SNES ex62: Turned off some tests for other precisions and shortened output of sensitive tests
Use mmap to allocate the shared pthread barrier if available
Add configure test for functional mmap
...

Conflicts:
include/petscconvest.h
src/snes/examples/tutorials/ex13.c
src/snes/interface/snes.c
src/snes/utils/convest.c

show more ...


# 7489efa5 07-Sep-2018 Matthew G. Knepley <knepley@gmail.com>

Merge branch 'master' into knepley/feature-pc-patch

* master: (131 commits)
fix mpiuni test
PETSCFEOPENCL: declare PetscFEGetTabulation_Basic as external
PETSCFEOPENCL: declare PetscFESetUp_Ba

Merge branch 'master' into knepley/feature-pc-patch

* master: (131 commits)
fix mpiuni test
PETSCFEOPENCL: declare PetscFEGetTabulation_Basic as external
PETSCFEOPENCL: declare PetscFESetUp_Basic as external
one more fix
jenkins: run 'cleantest' after examples are run - to recover diskspace
logical order bug in diagbrdn update fixed, tests updated again
replace new -petscspace_order instances with -petscspace_degree
PETSCSPACETENSOR: clear up naming confusion of subspaces
regression.py: remove configure code related to old test suite - now that SLEPc no longer needs it
PetscSpaceSetup_Poly(): make idempotent
Plex ex3: update tests
Lift changes to defunct dtfe.c from [PR #1074]
PetscSpace_Tensor: clarification of vector-valued
PetscSpace_Tensor: allow height subspaces, fixes tabulation initialization
PetscSpace: add a dimension member
PetscSpaceSetDegree(): now take maxDegree argument
-petscspacepoly_tensor -> -petscspace_type tensor
PetscSpaceEvaluate_Polynomial(): fix temp array dependencies
PETSCSPACETENSOR: A generic tensor product of spaces.
PetscSpace: -petscspace_order -> -petscspace_degree
...

Conflicts:
src/dm/dt/interface/dtfe.c
src/snes/examples/tutorials/ex13.c
src/snes/examples/tutorials/ex17.c
src/snes/examples/tutorials/ex62.c
src/snes/examples/tutorials/output/ex62_bddc_quad.out
src/snes/examples/tutorials/output/ex62_fetidp_2d_quad.out
src/snes/examples/tutorials/output/ex62_fetidp_2d_tri.out
src/snes/examples/tutorials/output/ex62_fetidp_3d_hex.out
src/snes/examples/tutorials/output/ex62_fetidp_3d_tet.out

show more ...


# c86da64b 06-Sep-2018 Joseph Pusztay <josephpu@buffalo.edu>

Merged petsc/petsc into master


# 3b16a644 03-Sep-2018 Matthew G. Knepley <knepley@gmail.com>

Merge branch 'master' into knepley/fix-superdm-is

* master: (455 commits)
bib: spell out some names for format consistency with related refs
bib: two 2018 pubs now appeared
cleaning up analyze

Merge branch 'master' into knepley/fix-superdm-is

* master: (455 commits)
bib: spell out some names for format consistency with related refs
bib: two 2018 pubs now appeared
cleaning up analyzer warnings
compile fixes (workarround PGI bug?):
undoing the branch's changes to leastsquares outputs
more fixes for complex builds
compile error fix for complex builds
1) Look for 64 bit integer MKL BLAS if 64 bit indices are used with PETSc 2) Fix Pardiso code to only compile pardiso_init64 when needed, otherwise can generate warnings/errors
jenkins: run 'cleantest' before 'allgtest-tap' - an attempt to fix errors of type:
cuda: protect cuda includes
fix cuda warnings.
fix complex compile error
Revert "Improved polymorphism of interfaces for MatSetValuesBlocked()"
Bib: Updated ref
Doc: More function documentation
petscvec: move PetscSFCreateFromZero from vscat to vec sources
Fixed an uninitialized variable and got rid of an unused one.
memleak fixed and output files updated
fixing build errors on some archs
Mat: obey options prefix of Mat in MatNullSpaceTest
...

Conflicts:
include/petsc/private/dmpleximpl.h
src/dm/interface/dmi.c

show more ...


# f588d9ee 31-Aug-2018 Andreas Selinger <andreasselinger@gmail.com>

Merged petsc/petsc into master


# 373bacff 28-Aug-2018 Satish Balay <balay@mcs.anl.gov>

Merge remote-tracking branch 'origin/adenchfield/tao-bncg-diagonal-scaling'


# 8ca2df50 24-Aug-2018 <adenchfi@hawk.iit.edu>

Fixed an uninitialized variable and got rid of an unused one.


# 78945fca 17-Aug-2018 Matthew G. Knepley <knepley@gmail.com>

Merge branch 'master' into knepley/feature-plex-functionals

* master: (984 commits)
netcdf: set zlib as optional dependency corretly [wrt --enable-netcdf-4] - otherwise netcdf configure errors out

Merge branch 'master' into knepley/feature-plex-functionals

* master: (984 commits)
netcdf: set zlib as optional dependency corretly [wrt --enable-netcdf-4] - otherwise netcdf configure errors out
fix gcov obj path
-options_table was changed to options_view in 2014 but documentation was not updated to reflect it
configure: fix F2003 test
Dev manual: remove duplicate entry
Plex test ex5: Removed "future" test, as it resulted in issues in the nightly tests.
Some minor typos in TS
Add ADIOS2.py which I forgot to git add in the past
Plex ex5: Disable test
Doc: Added note for interface change
KSPLSQRMonitorDefault fixed for quad precision
Tao: Added alternative output for chwirut2 test.
TS ex45,ex46: Removed overly refined tests for faster nightly tests.
KSP ex72: Fixed needlessly long-running PCTFS tests.
SNES ex56: Reduced test size to speed up nightly test suite.
KSPSolve_LSQR: don't compute unused norm of rhs
SNES ex13: Reduced problem sizes for nightly tests.
PetscOptionsDeprecated(): fix for NULL prefix
PetscOptionsDeprecated(): add option to print additional info
SNES ex12: Reduced sizes for BDDC tests.
...

show more ...


# 484c7b14 01-Aug-2018 Adam Denchfield <adenchfi@hawk.iit.edu>

Fixed a few more things. Added back in recycling. Added the ability for the user to set their own preconditioner with TaoBNCGSetH0.

Removed the experimental Steffenson acceleration feature from this

Fixed a few more things. Added back in recycling. Added the ability for the user to set their own preconditioner with TaoBNCGSetH0.

Removed the experimental Steffenson acceleration feature from this branch.

Fixed everything in Todd's code walkthrough except turning the VecDots into VecDotBegin, VecDotEnd combinations

Forgot to also remove xi from DiagBrdn. That is gone now too.

Updated the TAO manual so far.

Replaced VecDot with VecDotBegin and VecDotEnd in DiagBrdn.

Addressing an uninitialized variable problem after merging with another branch.

Changed the PetscMaxes back into zero checks; they were degrading the solvers.

Whatever was broken is now fixed. Need to test all methods officially again. diagbrdn.c was reset to before Alp and Todd's comments were fixed.

Fixed m=1 in diagbrdn.c

Tried changing the PetscMax bounds to 1.e-10 from 1.e-8

Bring it back to 1.e-8 since it did a little worse. Worth tinkering with.

Changed the last couple too-specific error checks on scaling terms in DiagBrdn.

Changed data structure in bncg.h to put IS data type right after Vec.

Removed alpha==-1.0 from DiagBrdn. Updated TAO manual to reflect name changes and added a parameter to it not added before.

Added a KSPInitialize in BNCG_Create

Had to fix some logic with recycling.

Minor bugfix.

Fixed the recycle off-by-one bug from last commit.

Fixed issues regarding complex numbers.

Fix call to PetscIsInfOrNan.

Managed to complete many of Todd's code walkthrough pt. 2 comments.

Fixed things from Todd's code walkthrough. Primarily allowed more user options and added some comments on functionality.

Changed default behavior of KouDai.

Changed CG_Types to not have an underscore.

show more ...


# 50b47da0 19-Jul-2018 Adam Denchfield <adenchfi@hawk.iit.edu>

diagonal Broyden matrix type framework added

Started implementing diagonal scaling using a common interface with Alp's code. Currently have forward B diagonal scaling, which means I need to derive S

diagonal Broyden matrix type framework added

Started implementing diagonal scaling using a common interface with Alp's code. Currently have forward B diagonal scaling, which means I need to derive SSML_BFGS in the forward case. Will apply this to case SSML_BFGS_Mod. Will also implement the inverse diagonal sometime.

Have basic DiagBrdn functionality working, though it isn't producing optimal ssml_bfgs output since the two are not super compatible - inverse (H) update with a forward (B) diagonal scaling?

Tried changing MatMult to Multiply instead of Divide, to see what effect it has. It may have a large effect...

Made it a developer option to change between Mult and Divide for the DiagBrdn MatMult. That way the BNCG code can have the correct behavior.

Added, hopefully successfully, my version of the inverse Hessian diagonal scaling to DiagBrdn. It can currently be enabled with command line options, but that will likely change.

Basic working code for using Alp's Mat objects. However, his and I's code still produce different results. To be investigated...

Removed the unnecessary mult parameter.

Trying out more reset strategies.

Committing before making experimental changes to SSML_BFGS_MOD where I directly update on the gradient.

Committing before making a change to SSML_BFGS that involves correcting a sign error.

Corrected a sign error in the diagonally scaled SSML_BFGS.

Nevermind, the sign was correct.

Implemented diagonal scaling for SSML_Broyden method.

Implemented diagonally scaled DFP.

Added trial versions of diagonally scaled Hestenes-Stiefel and Dai-Yuan methods.

Added trial version of diagonally scaled Fletcher-Reeves method.

Removed the testing version of SSML_BFGS; now there is only one final version.

Also added diagonally scaled Polar-Ribiere, trial version. About to try simplifying the diagonal update scheme in DiagBrdn to reduce numerical noise.

Tried adding features to the forward and backward updates to the diagonal scalinng that would reduce numerical noise.

Added a minor change to increase numerical precision of both forward and backward diagonal scaling updates.

Added restart conditions which would affect the Hestenes-Stiefel and Polar-Ribiere class of methods.

Removed the restart condition from the Hestenes-Stiefel method, as it appears to make it much worse, and going through the math shows it isn't necessarily the best restart strategy.

Removed the restarts based on gradient orthogonality, since those appear to be attempting to prevent non-descent directions, which is already checked for.

Fixed Fletcher-Reeves' diagonal preconditioning to match that written by HZ's survey.

Trying a new approach in Dai-Yuan inspired by the HZ survey.

The Preconditioning of FR in HZ's survey is wrong for our diagonal preconditioner. Just makes it worse. Reverted Dai0Yuan to a form where only the gradient is diagonally scaled.

Made global the check for whether or not the current direction is already good, enabling us to skip a direction update.

Also added diagonally scaled gradient descent.

Fixed a bug where the rescaling for scalar classic methods was constant.

Fixed a bug where the classic methods all seemed to be producing the same results. Had to initialize cg_continue.

Fixed issue in PR and PRP scalar methods.

Added some minor changes.

Cleaned up some redundancies in the BNCG code. Added some constants as command line options, user-options for the HZ and DK methods.

Cleaned a little more redundancy.

Some comments removed, a couple more redundant lines removed. Found an uninitialized variable in DaiYuan and fixed that; could be why DY was performing so badly.

Addressed a few of Alp's comments.

Trying to clean up memory leaks. First set lmvm->m = 1 in DiagBrdn.

Fixed memory leak problems.

Allowed the epsilon cutoff for curvature checks to be changed by the user. Defaults to machine precision.

Edited a couple things in DiagBrdn. Added the KD-like scaling to DiagBrdn for the inverse.

Merged with another branch that developed KD-like changes to diagonal scaling, and edited some comments.

Added a comment on the diagonal scaling as applied to FR, PR, PRP, DY methods. Beginning work on implementing them properly.

Got rid of the unused variables in DiagBrdn.c

Fixed an uninitialized variable in SSML_DFP

Fixed fortran interface bug.

Added a line about DiagBrdn in the PETSC Users Manual.

Trying to fix the DY diagonal scaling.

Currently at test2 of DY, does worse than initial test. About to start test 3 - where only g is replaced by its preconditioned counterpart.

Temporarily took out taking the reciprocal in the rescaling part of the code where we calculate ytDy, etc

Now onto test4 for the DY diagonally scaled method. Test3 worked well, in previous commit. By that I mean it almost got to the scalar performance.

show more ...


# c8bcdf1e 09-Aug-2018 Adam Denchfield <adenchfi@hawk.iit.edu>

Made sure to have all of master's updates, including from Alp Denera's newly merged branch.

Made the number of iterations between restarts for the KD method a command line parameter.

Implemented dy

Made sure to have all of master's updates, including from Alp Denera's newly merged branch.

Made the number of iterations between restarts for the KD method a command line parameter.

Implemented dynamic restart strategies for HZ method. Added a gd check that restarts if |gd| < eps

Minor fix to a negativity check.

Modularized the iterative process. Added the beginnings of a Steffenson acceleration. Fixed a restart bug?

Made the Steffenson acceleration into an experimental feature that is incomplete.

Cleaned up unused variables.

show more ...


12