| c346545e | 11-Jul-2016 |
Lawrence Mitchell <lawrence.mitchell@imperial.ac.uk> |
PetscSF: Recursively unwrap dupped types
Consider the case where the user passes a dupped type into PetscSFXXXBegin/End. To find the appropriate data packs, we need to compare dup(X) and dup(dup(X)
PetscSF: Recursively unwrap dupped types
Consider the case where the user passes a dupped type into PetscSFXXXBegin/End. To find the appropriate data packs, we need to compare dup(X) and dup(dup(X)). Previously, MPIPetsc_Type_unwrap would remove one layer of dupping from the type. Such that we would end up with X and dup(X). These do not compare equivalent. Fix this by unwinding all dup calls in MPIPetsc_Type_unwrap.
show more ...
|
| 34d6c7a5 | 22-Jun-2016 |
Jose E. Roman <jroman@dsic.upv.es> |
Miscellaneous changes in AIJCUSPARSE code
- Some operations need synchronization of data from CPU to GPU, e.g. MatScale - Add assembly operation, so that lvec is set to type CUDA - In MatSeqAIJCUSPA
Miscellaneous changes in AIJCUSPARSE code
- Some operations need synchronization of data from CPU to GPU, e.g. MatScale - Add assembly operation, so that lvec is set to type CUDA - In MatSeqAIJCUSPARSECopyToGPU do not recompute indices every time - Operations MatMultAdd* need to get the array with ReadWrite - In MatScale, do not change coherence flag if alpha=1.0 - VecDuplicate_MPICUDA must make sure that the GPU array exists - Fix null pointer in VecScatterCUDAIndicesCreate_PtoP
show more ...
|