| #
387df023
|
| 10-Mar-2020 |
Richard Tran Mills <rmills@rmills.org> |
Several improvements to pinned memory support for VECCUDA.
This commit does the following:
* Moves minimum_bytes_pinned_memory out of the Vec_CUDA structure and makes it a member of struct _p_Vec;
Several improvements to pinned memory support for VECCUDA.
This commit does the following:
* Moves minimum_bytes_pinned_memory out of the Vec_CUDA structure and makes it a member of struct _p_Vec; initializes it to 0 at vector creation time.
* Adds a flag inside _p_Vec indicating whether there is a current host (CPU) allocation that is using pinned memory. This flag is used to determine the appropriate free() implementation to use for a host allocation.
The above changes make it possible and safe to use at any time the API for setting the minimum size for the use of pinned memory for host allocations.
VecCUDASetPinnedMemoryMin()/VecCUDAGetPinnedMemoryMin() becomes VecSetPinnedMemoryMin()/VecGetPinnedMemoryMin() with these changes. These interfaces now exist for VECVIENNACL as well, but have no effect, as support for pinned host allocations needs to be added for this case.
show more ...
|
| #
c1838105
|
| 05-Mar-2020 |
Jed Brown <jed@jedbrown.org> |
VecCUDA: count bytes using size_t
Modify argument of VecCUDA{Set|Get}PinnedMemoryMin to use size_t. Document how to set this minimum via options database.
Commit-type: portability-fix Reported-by:
VecCUDA: count bytes using size_t
Modify argument of VecCUDA{Set|Get}PinnedMemoryMin to use size_t. Document how to set this minimum via options database.
Commit-type: portability-fix Reported-by: Richard Tran Mills <rmills@rmills.org>
show more ...
|
| #
8a921008
|
| 26-Jul-2019 |
Hong Zhang <hongzhang@anl.gov> |
Add API to change threshold for using pinned memory
Funded-by: Project: PETSc for GPU Time: Reported-by: Thanks-to:
|
| #
f6516afe
|
| 03-Feb-2020 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'rmills/bindtocpu-not-pintocpu' into 'master'
Changed XXXPinToCPU() to XXXBindToCPU() to prevent confusion.
See merge request petsc/petsc!2477
|
| #
b470e4b4
|
| 03-Feb-2020 |
Richard Tran Mills <rmills@rmills.org> |
Changed XXXPinToCPU() to XXXBindToCPU() to prevent confusion.
The reason for this change is that we already use the terminology "pinned" to refer to memory that is non-pageable, in the context of Pe
Changed XXXPinToCPU() to XXXBindToCPU() to prevent confusion.
The reason for this change is that we already use the terminology "pinned" to refer to memory that is non-pageable, in the context of PetscSF as well as allocating host memory when GPUs are being employed.
show more ...
|
| #
d0eddb9b
|
| 07-Nov-2019 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'mark/fix-viewfromoptions' into 'master'
prototype for ViewFromOptions macro-->functions
See merge request petsc/petsc!2083
|
| #
fe2efc57
|
| 07-Nov-2019 |
Mark <cal2princeton@yahoo.com> |
prototype for ViewFromOptions macro-->functions
|
| #
c1acdb04
|
| 28-Sep-2019 |
Satish Balay <balay@mcs.anl.gov> |
Merge remote-tracking branch 'origin/jczhang/feature-sf-on-gpu'
Add GPU-aware VecScatter/PetscSF
See merge request petsc/petsc!1995
|
| #
10ffa2ed
|
| 29-Aug-2019 |
Junchao Zhang <jczhang@mcs.anl.gov> |
Added VecGetArrayInPlace and friends to get array where it is, either on GPU or CPU
|
| #
77cab195
|
| 20-Sep-2019 |
Satish Balay <balay@mcs.anl.gov> |
Merge branch 'karlrupp/fix-petsccublasgethandle-header' into 'master'
CUDA: Moved PetscCUBLASGetHandle() to separate header petsccublas.h
See merge request petsc/petsc!2074
|
| #
de0d48c1
|
| 20-Sep-2019 |
Karl Rupp <me@karlrupp.net> |
CUDA: VecCUDAGetArray and friends now always part of the interface.
The availability of these functions no longer depends on CUDA compiled into PETSc. This simplifies user code built on top: No more
CUDA: VecCUDAGetArray and friends now always part of the interface.
The availability of these functions no longer depends on CUDA compiled into PETSc. This simplifies user code built on top: No more recompilations required.
show more ...
|
| #
05393080
|
| 25-Jul-2019 |
Karl Rupp <me@karlrupp.net> |
Merge branch 'jczhang/sf-more-opts' [PR #1567]
* jczhang/sf-more-opts: Add more optimizations in SF and use it as the default for VecScatter.
|
| #
3a350576
|
| 19-Jun-2019 |
Junchao Zhang <jczhang@mcs.anl.gov> |
Delete PetscSFCreateFromZero
PetscSFCreateFromZero is replaced with PetscSFCreate() + PetscSFSetGraphWithPattern(..,PETSC_PATTERN_GATHER)
|
| #
b326d3d8
|
| 12-Jul-2019 |
Karl Rupp <me@karlrupp.net> |
Merge branch 'dalcinl/fix-visibility' [PR #1851]
* dalcinl/fix-visibility: Vec: Fix visibility of deprecated VecLock{Push|Pop}()
|
| #
1c575b32
|
| 07-Jul-2019 |
Barry Smith <bsmith@mcs.anl.gov> |
Merge branch 'maint'
|
| #
ed274036
|
| 07-Jul-2019 |
Lisandro Dalcin <dalcinl@gmail.com> |
Vec: Tag VecLocked() as deprecated
|
| #
5f1efc1a
|
| 07-Jul-2019 |
Lisandro Dalcin <dalcinl@gmail.com> |
Vec: Fix visibility of deprecated VecLock{Push|Pop}()
|
| #
26bd1501
|
| 05-Jul-2019 |
Barry Smith <bsmith@mcs.anl.gov> |
Remove use of _ and __ in front of PETSc include guards. Reason: C99 Reserved Identifiers
Commit-type: portability-fix
|
| #
b6a92dca
|
| 26-Jun-2019 |
BarryFSmith <bsmith@mcs.anl.gov> |
Merged in barry/cuda-multigrid-test (pull request #1763)
Various improvements for GPUs (mostly for performance and CUDA)
|
| #
fdc842d1
|
| 31-May-2019 |
Barry Smith <bsmith@mcs.anl.gov> |
Various improvements for GPUs (mostly for performance and CUDA)
1) Add VecPinToCPU() for CUDA vector and matrices 2) 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 matrices 2) Move initialization of cuBLAS to PetscInitialize() since it takes 1/2 second and distorts timing with -log_view 3) 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 GPU 5) Automatically convert MAIJ matrices to AIJ for CUDA since they are not yet supported natively in PETSc's CUDA matrix implementation 6) Pinned objects should still use the CUDA/ViennaCL versions of Destroy to clean up the GPU stuff
Commit-type: feature
show more ...
|
| #
613bfe33
|
| 02-Jun-2019 |
BarryFSmith <bsmith@mcs.anl.gov> |
Merged in barry/update-collective-on (pull request #1744)
Update the use of Collective on in the manual pages to reflect the new style
|
| #
d083f849
|
| 01-Jun-2019 |
Barry Smith <bsmith@mcs.anl.gov> |
Update the use of Collective on in the manual pages to reflect the new style
Commit-type: style-fix, documentation Thanks-to: Patrick Sanan <patrick.sanan@gmail.com>
|
| #
ef135d0e
|
| 01-Jun-2019 |
Satish Balay <balay@mcs.anl.gov> |
Merge remote-tracking branch 'origin/psanan/docs-remove-manconcepts' [PR #1733]
|
| #
0f5d826a
|
| 30-May-2019 |
Patrick Sanan <patrick.sanan@gmail.com> |
Man pages: remove Concepts: fields
These fields were previously stripped from the man pages by logic removed in 21a59cba2737d49dc2f0bd12c08db0d2a3f3f209
Remove these fields from all man pages (but
Man pages: remove Concepts: fields
These fields were previously stripped from the man pages by logic removed in 21a59cba2737d49dc2f0bd12c08db0d2a3f3f209
Remove these fields from all man pages (but not from examples).
This is accomplished with GNU sed (gsed on OS X), with the following commands. *Warning* that this type of command can corrupt a .git directory, so be cautious in reusing or modifying these commands. They first look for and delete matching lines with a following line consisting of only whitespace, and then delete any remaining matching lines.
find src -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/ {N; /\n\s*$/d}' {} + find src -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/d' {} + find include -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/ {N; /\n\s*$/d}' {} + find include -type f -not -path "*/examples/*" -not -name "*.html" -not -name "*.bib" -exec gsed -i '/Concepts:/d' {} +
Hints on the sed command obtained from: https://unix.stackexchange.com/questions/100754/how-to-delete-a-specific-line-and-the-following-blank-line-using-gnu-sed
show more ...
|
| #
5065da2f
|
| 13-May-2019 |
Barry Smith <bsmith@mcs.anl.gov> |
Merge branch 'master' of bitbucket.org:petsc/petsc
|