Minor cleanup of Fortran binding stuff to simplify future maintainanceThere is no distinction between F90 and non-F90 code so combine ftn-custom and f90-custom directories and fortranimpl.h and f90
Minor cleanup of Fortran binding stuff to simplify future maintainanceThere is no distinction between F90 and non-F90 code so combine ftn-custom and f90-custom directories and fortranimpl.h and f90impl.h files. Also move uses of f90 to ftn when simple
show more ...
This requires some changes to user FORTRAN codePass PETSC_NULL_XXX_ARRAY when passing a NULL as an argument that is expecting an arrayPass PETSC_NULL_ENUM when argument returns an enum instead of
This requires some changes to user FORTRAN codePass PETSC_NULL_XXX_ARRAY when passing a NULL as an argument that is expecting an arrayPass PETSC_NULL_ENUM when argument returns an enum instead of PETSC_NULL_INTEGERPass arrays (and not scalar values) when the argument is expecting an array; this means replace, for example, the argument v with [v]Use PetscObjectIsNull(obj) to check if the object is NULL, instead of obj == PETSC_NULL_XXXThe compiler will now automatically prevent you from using the wrong argument type for the first three bullets aboveThis will also require an update sowing with the new sowing branch this MR is using.
Update to sowing version that supports PetscViewer and PetscObjectRemove manual Fortran stubs for PetscViewer and PetscObject arguments since now handled by sowingAlso handles the passing of null
Update to sowing version that supports PetscViewer and PetscObjectRemove manual Fortran stubs for PetscViewer and PetscObject arguments since now handled by sowingAlso handles the passing of null objects correctly
Update source code removing all unneeded /*@C and associated manual stubs and interfaces
LIBBASE is no longer used in make so remove it
Rename rules.doc and rules.utils because GitLab treats the former as a MS Word document.Thanks-to: Jed Brown
Profiling: Switch logging over to the new PetscLogHandler infrastructure- Move data structures only needed by the default logger now (Action, Object) to logdefault.c- Create petsclogdeprecated.
Profiling: Switch logging over to the new PetscLogHandler infrastructure- Move data structures only needed by the default logger now (Action, Object) to logdefault.c- Create petsclogdeprecated.h and petsc/private/logimpldeprecated.h for publicly visible symbols that are now deprecated. Yes, lots of symbols in petsc/private/logimpl.h were not only visible but had docstrings.- The macros PetscLogEventBegin(), PetscLogEventEnd(), PetscLogEventSync(), PetscLogObjectCreate(), and PetscLogObjectDestroy() now looks through the log handlers in PetscLogHandlers, sees if they have they appropriate callbacks (Exposed in PetscLogHandlerHot), and calls them. Up to 4 log handlers can run simultaneously.- All queries about the registered things now go through petsc_log_state.- Output functions dispatch to the appropriate PetscLogHandler- There is no need for xmllogevent.c, xmlviewer.c, eventlog.c, classlog.c, and stagelog.c anymore. Some orphaned functions (PetscLogSetThreshold(), PetscLogEventSetDof(), PetscLogEventSetError(), PetscASend(), PetscARecv(), PetscAReduce())- PetscFEOpenCLLogResidual() did some intrusive things related to the old logging infrastruture: the private header for the default log handler is now imported into feopencl.c so that it can do equivalent things with the new infrastructure.- PetscLogPauseCurrentEvent_Internal() is replaced with PetscLogEventsPause()Deprecated symbols include:- All functions related to PetscStageLog and the resizable array structs that it contained.- The legacy EventBegin()/EventEnd() callbacks.- PetscLogAllBegin(), which actually reported less information than PetscLogDefaultBegin() because it was not kept up-to-date with regards to GPU profiling.
HAVE_FORTRAN should be USE_FORTRAN_BINDINGS since it is about generating the Fortran bindings, not about if the Fortran compiler exists
Format the ftn-custom files with clang-format. Apparently no particular reason we did not format them initially
non-test and tutorial makefiles only need rules.doc not the full rulesCommit-type: documentation
Only makefiles in the test and tutorial directories need lib/petsc/conf/testCommit-type: housekeeping
Remove now unneeded SOURCE* variables from makefilesCommit-type: configure, housekeeping
Remove empty preprocessor variables
Remove unneeded declarations of LOCDIR from all the makefilesCommit-type:documentation
Make PetscErrorCode a non-discardable enum
makefile: fix typo - petsckdir.mk -> petscdir.mk
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makef
Add -include */petscdir.mk to makefile that lacked itfor i in `git ls-files | grep makefile | xargs grep -L petscdir.mk`; do echo $i ; str=`echo $i |sed -e 's?[-a-zA-Z0-9]*/?../?g' -e 's?makefile?petsckdir.mk?g'` ; cp $i tmp echo "-include $str" > $i cat tmp >> $idoneCommit-type: makefile, housekeeping/spend 15m
remove garbage from makefilesIncluding * unused FLAGS variables * All: lib that did not work * stray blank lines etcCommit-type: housekeeping/spend 1h
ftn: add fortran interface to PetscLogGpuFlops() and move PetscLogFlops() to the same sourcefileAnd cleanup petsclog.h as needed by PetscLogGpuFlops() fortran interface
Remove usage of PETSC_HAVE_FORTRAN_STDCALL, PETSC_BLASLAPACK_STDCALL, HAVE_FORTRAN_MIXED_STR_ARG flags - as Compaq f90 compiler is no longer supported
Add if (*ierr) return checks for all Fortran stubs that utilize FREECHAR()Otherwise the ierr is overwritten by the FREECHAR() thus returning a zero error code when it should notCommit-type: bug-f
Add if (*ierr) return checks for all Fortran stubs that utilize FREECHAR()Otherwise the ierr is overwritten by the FREECHAR() thus returning a zero error code when it should notCommit-type: bug-fixReported-by: Tim Steinhoff <kandanovian@gmail.com>
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
Minor cleanup, remove some outdated code, remove unneeded constructs, improve manual pages slightly, add missing test caseTime: 2.5 hours
remove unused Fortran file that was associated with nested xml logging
Import capability of nested logging in PETSc using XMLCleanup contributed source to match PETSc coding standards and styleSouce code contributed by Koos Huijssen <koos.huijssen@vortech.nl> and Chr
Import capability of nested logging in PETSc using XMLCleanup contributed source to match PETSc coding standards and styleSouce code contributed by Koos Huijssen <koos.huijssen@vortech.nl> and Christiaan Klaij <C.Klaij@marin.nl>
12