clang-format: convert PETSc sources to comply with clang-format
Fix missing entries/formatting in some manual pagesCommit-type: docs/spend 10m
Get values of makefile SOURCE etc from the file system instead of makefilesUse SUBMANSEC from include files for manual sections instead of the makefileUnfortunately this has to be one large commi
Get values of makefile SOURCE etc from the file system instead of makefilesUse SUBMANSEC from include files for manual sections instead of the makefileUnfortunately this has to be one large commit since the changes all have to be done at onceCommit-type: docs/spend 10m
show more ...
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
Docs: bulk add backticks to .seealso man page fields```pythonimport osimport reimport fileinputdef _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (wor
Docs: bulk add backticks to .seealso man page fields```pythonimport osimport reimport fileinputdef _process_word(word): comma = "," if word.endswith(",") else "" return "`%s`%s" % (word.rstrip(","), comma)def _process_stripped_line(line): return " ".join(map(_process_word, line.split()))start_pattern = re.compile(r"^( *\.seealso:? )(.*$)")def process_file(filename_full): with fileinput.FileInput(filename_full, inplace=True) as f: in_block = False for line in f: line_stripped = line.strip() # end ".seealso blocks" on a blank line or C-style comment close line_modified = None if not line_stripped: in_block = False elif line_stripped.endswith("*/"): in_block = False else: match = re.match(start_pattern, line) # not stripped line if match: indent = " " * len(match.group(1)) in_block = True line_modified = match.group( 1) + _process_stripped_line( match.group(2).strip()) elif in_block: line_modified = indent + _process_stripped_line( line_stripped) if line_modified: print(line_modified) # prints to the file else: print(line, end="") # prints to the fileBASE_DIRS = ["src", "include"]EXT = [".c", ".cxx", ".cpp", ".cu", ".h", ".hpp", ".hxx"]EXCLUDE_DIRS = ["tests", "tutorials", "ftn-auto", "ftn-custom", "benchmarks"]def main(): """ Process everything """ for base in BASE_DIRS: for root, dirs, files in os.walk(base): for filename in files: if os.path.splitext(filename)[1] in EXT: filename_full = os.path.join(root, filename) print("FILE ---", filename_full) process_file(filename_full) for exclude_dir in EXCLUDE_DIRS: if exclude_dir in dirs: dirs.remove(exclude_dir)if __name__ == "__main__": main()```
The great renaming:- CHKERRQ() -> PetscCall()- CHKERRV() -> PetscCallVoid()- CHKERRMPI() -> PetscCallMPI()- CHKERRABORT() -> PetscCallAbort()- CHKERRCONTINUE() -> PetscCallContinue()- CHKERRXX
The great renaming:- CHKERRQ() -> PetscCall()- CHKERRV() -> PetscCallVoid()- CHKERRMPI() -> PetscCallMPI()- CHKERRABORT() -> PetscCallAbort()- CHKERRCONTINUE() -> PetscCallContinue()- CHKERRXX() -> PetscCallThrow()- CHKERRCXX() -> PetscCallCXX()- CHKERRCUDA() -> PetscCallCUDA()- CHKERRCUBLAS() -> PetscCallCUBLAS()- CHKERRCUSPARSE() -> PetscCallCUSPARSE()- CHKERRCUSOLVER() -> PetscCallCUSOLVER()- CHKERRCUFFT() -> PetscCallCUFFT()- CHKERRCURAND() -> PetscCallCURAND()- CHKERRHIP() -> PetscCallHIP()- CHKERRHIPBLAS() -> PetscCallHIPBLAS()- CHKERRHIPSOLVER() -> PetscCallHIPSOLVER()- CHKERRQ_CEED() -> PetscCallCEED()- CHKERR_FORTRAN_VOID_FUNCTION() -> PetscCallFortranVoidFunction()- CHKERRMKL() -> PetscCallMKL()- CHKERRMMG() -> PetscCallMMG()- CHKERRMMG_NONSTANDARD() -> PetscCallMMG_NONSTANDARD()- CHKERRCGNS() -> PetscCallCGNS()- CHKERRPTSCOTCH() -> PetscCallPTSCOTCH()- CHKERRSTR() -> PetscCallSTR()- CHKERRTC() -> PetscCallTC()
chkerr and friends wrapped
add PetscDesignatedInitializer() and apply it PetscRandom_*, AO_*, Vec_Seq, and Vec_MPI
SETERRQ[1-9]+ begone
apply PETSC_ATTRIBUTE_FORMAT and related fixes to sys sources
- Replace the current CUPM initialization infrastructure with PetscDevice.- Remove -petsc_use_default_null_stream and -[cuda|hip]_synchronize options- Remove PetscCUDASynchronize and PetscHIPSynchr
- Replace the current CUPM initialization infrastructure with PetscDevice.- Remove -petsc_use_default_null_stream and -[cuda|hip]_synchronize options- Remove PetscCUDASynchronize and PetscHIPSynchronize- Remove PetscCUDAInitialize(), PetscCUDAInitializeCheck(), PetscHIPInitialize(), andPetscHIPInitializeCheck()- Remove PetscCUBLASInitializeHandle(), PetscCUSOLVERDnInitializeHandle(),PetscHIPBLASInitializeHandle(), and PetscHIPSOLVERInitializeHandle().- Remove petsc_gputimer_begin and petsc_gputimer_begin- Add -device_enable, -device_select and -device_view options- Replace -[cuda|hip]_device with split options -device_enable_[cuda|hip] and -device_select_[cuda|hip]- Replace -[cuda|hip]_view with -device_view_[cuda|hip]- Add PetscDeviceInitType- Add PetscDeviceInitialize() and PetscDeviceInitialized()- Add PetscDeviceView()
Various fixes for NVIDIA's nvhpc toolkitThe nvhpc systems separates the CUDA math libaries and includes from the regular CUDA materialthus cuda.py has to detect and manage this separation automati
Various fixes for NVIDIA's nvhpc toolkitThe nvhpc systems separates the CUDA math libaries and includes from the regular CUDA materialthus cuda.py has to detect and manage this separation automatically.Note also the nvhpc includes the MPI compilers in another directory which should be used with MPI.Do not use outer C++ compiler as Kokkos compiler as that may not match the compiler used by nvcc, instead use the C++ compiler that nvcc uses. This is tricky because this compiler has to have access to the MPI headers since it sees all of the PETSc headers./spend 14h
move petscrandom headers to include/petsc/private
PetscRandom: add CURAND support
12