Various improvements for GPUs (mostly for performance and CUDA)1) Add VecPinToCPU() for CUDA vector and matrices2) Move initialization of cuBLAS to PetscInitialize() since it takes 1/2 second and
Various improvements for GPUs (mostly for performance and CUDA)1) Add VecPinToCPU() for CUDA vector and matrices2) Move initialization of cuBLAS to PetscInitialize() since it takes 1/2 second and distorts timing with -log_view3) Add logging for DMCreateMatrix (for large meshes this is very large)4) Add VecGet/RestoreArrayWrite() to prevent unneeded copies from GPU (only implemented so far for CUDA); added a small number of usages in the source so that snes tutorials ex19 does not do unneeded communication from the GPU5) Automatically convert MAIJ matrices to AIJ for CUDA since they are not yet supported natively in PETSc's CUDA matrix implementation6) Pinned objects should still use the CUDA/ViennaCL versions of Destroy to clean up the GPU stuffCommit-type: feature
show more ...
Add PetscArraycmp(), PetscArraycpy(), PetscArrayzero(), PetscArraymove(), update code to use new formsReplace a couple multi-mallocs with a single mallocReplace backwards loops in MatSetValues_*()
Add PetscArraycmp(), PetscArraycpy(), PetscArrayzero(), PetscArraymove(), update code to use new formsReplace a couple multi-mallocs with a single mallocReplace backwards loops in MatSetValues_*() with PetscArraymove()Commit-type: style-fix, feature
Change handling of MatPtAP_MPIAIJ_MPIMAIJ() so that it can access the various -matptap_via optionsCommit-type: bug-fix, feature
Revert the function name where it is referenced
Fix more bugs when we lock vectors in VecScatter
Changed VecScatterCreate() to take a communicator and return scatter as other first class PETSc objects do.Changed old VecScatterCreate() to VecScatterCreateWithData()Completed basic refactorizati
Changed VecScatterCreate() to take a communicator and return scatter as other first class PETSc objects do.Changed old VecScatterCreate() to VecScatterCreateWithData()Completed basic refactorization of VecScatter code, ready for new implementations to be added.(There is still some code duplication between the VecScatter MPI1 and MPI3 code but it can be fixed at anytime without requiring changes to the VecScatter API.Part 5 of a refactorization of VecScatter to be treated as a first class PETSc objectCommit-type: style-fix
MatMAIJ: add support for MatPtAP with A MATISthis in turns needs support for MatCreateSubMatricesAdded dummy default implementation as for MatCreateSubMatrix
Man pages: add newlines after "Notes:"This allows for proper formatting from sowing.On OS X (using gsed, not the default BSD sed), from the PETSc root directory: find src include -type f \(
Man pages: add newlines after "Notes:"This allows for proper formatting from sowing.On OS X (using gsed, not the default BSD sed), from the PETSc root directory: find src include -type f \( -name "*.c" -or -name "*.h" -or -name "*.cxx" \) | xargs gsed -i 's/Notes\s*:\s*\(\w.*\)/Notes:\n \1/'This adds a newline and 4 spaces whenever "Notes:" is followed by any "word" character, in any .c, .h, or .cxx file in src/ or include/
Associated function for MatPtAP_seqaijperm_seqmaij_C.
Associated function for MatPtAP_seqaijmkl_seqmaij_C.
Merge branch 'maint'* maint: MatMAIJ: generate Fortran stubs Doc: Fixed formatting problems for MatCreateAIJ() manual page.
MatMAIJ: generate Fortran stubsReported-by: Naveen Balakrishna <naveen.vellore@gmail.com>
rename MatGetSubMat -> MatCreateSubMat
Remove the use and definition of __FUNCT__ throughout the codeSince all modern C/C++ compilers provide this functionality we no longer need to provide it manually in PETScTime: 1.5 hoursThanks-t
Remove the use and definition of __FUNCT__ throughout the codeSince all modern C/C++ compilers provide this functionality we no longer need to provide it manually in PETScTime: 1.5 hoursThanks-to: Andreas Mang <andreas@ices.utexas.edu>
removed a bunch of unneeded inclusions of xxximpl.h which exposed private data where it did not have to be exposedalso made more systematic the inclusion of the base xxximpl.h in the derived yyyimp
removed a bunch of unneeded inclusions of xxximpl.h which exposed private data where it did not have to be exposedalso made more systematic the inclusion of the base xxximpl.h in the derived yyyimpl.hso the inclusion is done in the include file rather than in each source code that includes it
made a few more private symbols privatemake checking for turning on symbol visibility the default
More decreasing visibility of symbols from outside librariesAlso fix a few bugs related to having multiple PETSc libraries
added many checks for integer overflow in symbolic factorization and symbolic matrix matrix multiplication
add MAT_INPLACE_MATRIX; replace MAT_REUSE_MATRIX with it for MatConvert()
MatHeaderReplace() corrupted the -objects_dump arrayReported-by: Torquil Macdonald Sørensen <torquil@gmail.com>MatHeaderReplace() and MatHeaderMerge() destroy the second matrix argument therefor
MatHeaderReplace() corrupted the -objects_dump arrayReported-by: Torquil Macdonald Sørensen <torquil@gmail.com>MatHeaderReplace() and MatHeaderMerge() destroy the second matrix argument therefor pass it asa pointer to it can be zeroed and not mistakenly reused.
updated PETSc directory layout to match standard packaging strategiesinclude/petsc finclude,private,mpiunilib/petsc confbin/petsc*
MatSetType() when changing from a previously defined type needs to reset certain basic propertiesof the matrix so they don't bleed into the new typeContributed-by: Dmitry Karpeyev <karpeev@mcs.anl
MatSetType() when changing from a previously defined type needs to reset certain basic propertiesof the matrix so they don't bleed into the new typeContributed-by: Dmitry Karpeyev <karpeev@mcs.anl.gov>
manual merge of conflict
Merge branch 'barry/remove-unneeded-paren-petscmalloc'Conflicts: src/mat/impls/baij/seq/baij.c
fortran: enable interface for MatMAIJGetAIJ()
1234567891011