| #
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 ...
|