Fixes after review- ElementCreate: make input before output- Fix seg faults in test harness- Fix errors due to nstages=0 in ElementCreate- Fix fortran error- Fix error when num_units_avail=1
Use STAGESONLY for basic cases (nonrevolve,noncams)The solution is not necessary for adjoint calculation if no recomputation is needed.
Add interface to libcams- CAMS also work for stiffly-accurate methods. The last stage points to the solution vector ts->vec_sol. This feature is leveraged in CAMS checkpointing to reduce the memory
Add interface to libcams- CAMS also work for stiffly-accurate methods. The last stage points to the solution vector ts->vec_sol. This feature is leveraged in CAMS checkpointing to reduce the memory cost.- Add option -ts_trajectory_max_units_ram - Added -ts_trajectory_max_units_ram and -ts_trajectory_max_units_disk to specify the number of available checkpointing units. - Conceptualy a checkpoint may contain multiple checkpointing units (solution and stage values) of the same size. - Users should use either max_units or max_cps, but not both at the same time.Commit-type: feature/spend 20h
show more ...
PetscStack : check for correct push/popEnforce checkstack for CI jobsFixes from testsuite
Update badsource rules- Zero or more spaces are not allowed for more returning types- zero spaces not allowed for for|if|while
Fix compiler warnings when using revolve with 64bit indices Commit-type: bug-fix /spend 2h Reported-by: Anton Glazkov <anton.glazkov@chch.ox.ac.uk>
Fix memory leaks in TSTrajectoryCreate_Memory() and possibly bugs1) The binary open did not switch to native vector loads hence each load for vectors with DMDA involved transformsbetween natural a
Fix memory leaks in TSTrajectoryCreate_Memory() and possibly bugs1) The binary open did not switch to native vector loads hence each load for vectors with DMDA involved transformsbetween natural and PETSc ordering, this used large memory allocations. But the binary create for writing the vectorsdid set the native option hence likely the results for the example ex5adj.c were incorrect in the past2) add the skipinfo for the binary open in TSTrajectoryCreate_Memory() since they are not needed.3) when allocating buffer space in PetscViewerBinaryWriteReadAll() do not use the space on rank zero since the bufferis not needed for that.Reported-by: Anton Glazkov <anton.glazkov@chch.ox.ac.uk>Thanks-to: Hong Zhang <hongzhang@anl.gov>/spend 1h
Reuse memory for consecutive TS runsThis commit reduces vector allocation (through VecDuplicate) and deallocation significantly whenTSTrajectory is used repeatedly between different TS runs. Thec
Reuse memory for consecutive TS runsThis commit reduces vector allocation (through VecDuplicate) and deallocation significantly whenTSTrajectory is used repeatedly between different TS runs. Thecheckpoint is no longer destroyed immediately after used, thus allowingthe same memory to be reused later on.
Turn on checkbadSource test to generate an error when found; fix all source code that causes errorsCommit-type: portability-fix, testing-fix, style-fix, feature, maintainability/spend 1.5h
Fix in-memory checkpointingSkip the checkpoint in TSTrajectoryGet() after TSAdjointSolve() is converged. This fixes the error that arises when TSAdjointSolve() is called multiple times with each ti
Fix in-memory checkpointingSkip the checkpoint in TSTrajectoryGet() after TSAdjointSolve() is converged. This fixes the error that arises when TSAdjointSolve() is called multiple times with each time handling a subinterval. The problem was encountered in an external code using PETSc with pytorch.
PetscBinaryWrite: Remove `istemp` boolean flag
TSTRAJECTORYMEMORY: no need to load stages if stepnum == 0Match the behaviour of TSTRAJECTORYBASIC
TSTRAJECTORYMEMORY: the resizing part of the code does not work for stacksize = 0This class is a mess, very hard to push the proper fix
Fix the abuse of revolve in repeated adjoint solvesRevolve needs to be reset if TSAdjointSolve() is called repeatedly.
Non-numeric optimizations focused on AIJ, MatFDColoring, and DMCreateMatrix_DA_*AIJ, looking to improve performance in GPU environments1) PetscCalloc*() now uses system calloc()2) Merged some Pets
Non-numeric optimizations focused on AIJ, MatFDColoring, and DMCreateMatrix_DA_*AIJ, looking to improve performance in GPU environments1) PetscCalloc*() now uses system calloc()2) Merged some PetscMalloc*()3) Eliminated unneeded PetscCalloc*()4) Removed some memory allocations and copies in MatFDColoringSetUp(), added local variables for better compiler optimization5) Added MatSetValues_SeqAIJ_SortedFull(), added MatSetOption(MAT_SORTED_FULL)6) Optimized DMCreateMatrix_DA_*AIJ for nonperiodic case to automatically have sorted columns (faster MatSetValues() times)7) Eliminated call to PetscMemzero() in PetscFree()Commit-type: style-fix, feature
Generate unique folder names for TSTrajectory- Added PetscMkdtemp()- Removed -ts_trajectory_dirname in tests- The changes are also applied to trajmemory.cFunded-by:Project: FASTMATH adjointTi
Generate unique folder names for TSTrajectory- Added PetscMkdtemp()- Removed -ts_trajectory_dirname in tests- The changes are also applied to trajmemory.cFunded-by:Project: FASTMATH adjointTime: 6.5 hoursReported-by:Thanks-to:
TSTrajectory: bug fix in memory modeWhenever recomputation is done, the recompute flag should be reset to false.The problem was notified when solving a PDE-constrained optimization problem.Funde
TSTrajectory: bug fix in memory modeWhenever recomputation is done, the recompute flag should be reset to false.The problem was notified when solving a PDE-constrained optimization problem.Funded-by:Project: FASTMATH adjointTime: 1.0 hoursReported-by:Thanks-to:
TSTrajectoryMemory: add support for non-adjoint-solve-based trajectories
Do some housekeeping and add missing CHKERRQ calls
Fix memory leakRevolve has also been updated.Funded-by:Project: FASTMATH adjointTime: 2.0 hoursReported-by: balay@mcs.anl.govThanks-to:
Fix crash for adjoint checkpointing in memoryRevolve needs to be reset at each optimization iteration.Funded-by:Project: FASTMATH adjointTime: 2.0 hoursReported-by:Thanks-to:
Log: various fixes and cleanups- Reorganize declarations in petsclog.h- Better -log_exclude, now applies to all registered stages- Minor fixes to implementation of -info_exclude- PCASM: Log appl
Log: various fixes and cleanups- Reorganize declarations in petsclog.h- Better -log_exclude, now applies to all registered stages- Minor fixes to implementation of -info_exclude- PCASM: Log apply-on-blocks KSP solves- Rename PetscLogDestroy() -> PetscLogFinalize() and hide it from the API
doc: fix LOCDIR in makefiles
Fix various compiler warnings and add PetscFunctionBegin
Update TSTrajectoryGet/SetAllow TSTrajectoryGet and TSTrajectorySet to use user-privided step number.
1234567