| f01131f0 | 08-Jan-2020 |
Junchao Zhang <jczhang@mcs.anl.gov> |
Change PetscMemcpyWithMemType to PetscSFLinkMemcpy and make it asynchronous
With that, all cuda calls in SF are asynchronous and work on link->stream. The reason is we want to avoid sudden 'join poi
Change PetscMemcpyWithMemType to PetscSFLinkMemcpy and make it asynchronous
With that, all cuda calls in SF are asynchronous and work on link->stream. The reason is we want to avoid sudden 'join points' caused by synchronous cuda calls.
show more ...
|
| 806daeb7 | 16-Mar-2020 |
Jed Brown <jed@jedbrown.org> |
hdf5: create spaces of matching dimension when supported (hdf5 >= 1.10)
HDF5-1.12 checks that the number of dimensions present in the file matches the requested filespace (even if a rank will be rea
hdf5: create spaces of matching dimension when supported (hdf5 >= 1.10)
HDF5-1.12 checks that the number of dimensions present in the file matches the requested filespace (even if a rank will be reading/writing zero entries). The hdf5 < 1.10 did not allow any dimensions of zero extent, but that was fixed in 1.10:
commit 4b7f286a45b24de8cb5d08780df21fc7b79542ed Author: Raymond Lu <songyulu@hdfgroup.org> Date: Thu Apr 7 16:56:38 2011 -0500
[svn-r20440] Bug 1386 - allow dimension size to be zero even though it isn't unlimited. I added test cases for contiguous, compact, and chunked, and external storage datasets, and also attribute. The test includes dataspace selections. I'll handle the tools in the next step.
Tested on jam, amani, and heiwa.
https://github.com/live-clones/hdf5/commit/4b7f286a45b24de8cb5d08780df21fc7b79542ed
show more ...
|
| 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 ...
|