| 67c2393c | 21-Oct-2013 |
Karl Rupp <rupp@iue.tuwien.ac.at> |
CUSP, ViennaCL: VecAYPX no longer counts flops if alpha == 0.0
This is now more consistent with the CPU case, where copies are not counted as FLOPs. |
| 004eb1ce | 20-Oct-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Merge branch 'balay/remove-sdir'
__SDIR__ is gone. This is an ABI change (PetscError) so dependent packages must be recompiled.
* balay/remove-sdir: __SDIR__: remove remaining traces and documen
Merge branch 'balay/remove-sdir'
__SDIR__ is gone. This is an ABI change (PetscError) so dependent packages must be recompiled.
* balay/remove-sdir: __SDIR__: remove remaining traces and document in changes.html __SDIR__: remove usage of __SDIR__ from PETSc sources.
This merge fixes one instance of __SDIR__ that was added after 'balay/remove-sdir' branched off.
show more ...
|
| 52054096 | 19-Oct-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Merge branch 'jed/doc-restore-zeros-pointer'
* jed/doc-restore-zeros-pointer: DMPlex: fix my mistake using NULL in place of (int) 0 doc: restore functions in PETSc zero their arguments
Conflict
Merge branch 'jed/doc-restore-zeros-pointer'
* jed/doc-restore-zeros-pointer: DMPlex: fix my mistake using NULL in place of (int) 0 doc: restore functions in PETSc zero their arguments
Conflicts: src/dm/impls/plex/plex.c
show more ...
|
| e86e7423 | 19-Oct-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Merge branch 'barry/add-vecgetarray-fortran-derived-type'
* barry/add-vecgetarray-fortran-derived-type: added example showing how to use VecGetArray() from Fortran but treating the array as an arr
Merge branch 'barry/add-vecgetarray-fortran-derived-type'
* barry/add-vecgetarray-fortran-derived-type: added example showing how to use VecGetArray() from Fortran but treating the array as an array of Fortran derived types
show more ...
|
| 1fc5b511 | 18-Oct-2013 |
Karl Rupp <rupp@iue.tuwien.ac.at> |
ViennaCL: Fixed unused variable and function warnings.
This was mostly due to a poor handling of option parsing. The two old functions ViennaCLSetFromOptions VecSetFromOptions_SeqViennaCL were ref
ViennaCL: Fixed unused variable and function warnings.
This was mostly due to a poor handling of option parsing. The two old functions ViennaCLSetFromOptions VecSetFromOptions_SeqViennaCL were refactored: - VecSetFromOptions_SeqViennaCL was completely removed, as it only forwarded. - ViennaCLSetFromOptions was renamed to PetscObjectSetFromOptions_ViennaCL for better accordance with the PETSc naming scheme (thanks to Jed for pointing this out) The options are now checked right before the respective objects are instantiated, thus delaying the OpenCL setup as long as possible.
show more ...
|
| 7086a01e | 18-Oct-2013 |
Peter Brune <brune@mcs.anl.gov> |
Banished all mention of the old MatGetColoring() and use in examples |
| efca3c55 | 29-May-2013 |
Satish Balay <balay@mcs.anl.gov> |
__SDIR__: remove usage of __SDIR__ from PETSc sources. |
| 29a5cbdc | 10-Oct-2013 |
Matthew G. Knepley <knepley@gmail.com> |
Compiler: Fix warnings from MPI impls which do not initialize outputs
(cherry picked from commit d892089bd4a83d5450f25ac15dd2b0a661537089) |
| f72afddd | 14-Oct-2013 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'knepley/fix-plex-examples'
* knepley/fix-plex-examples: SNES ex62: Remove code generation DMPlex ex7: Added missing test output SNES ex52: Removed old Jacobian stuff, and fixed c
Merge branch 'knepley/fix-plex-examples'
* knepley/fix-plex-examples: SNES ex62: Remove code generation DMPlex ex7: Added missing test output SNES ex52: Removed old Jacobian stuff, and fixed call to DMPlexProjectFunction() - Fixed calls for new element handling SNES ex12: Added a performance profiling mode DMPlex ex8: Fixed leak PetscSection: Must reset the section when changing the number of fields DMPlex ex7: Fixed test output - Corrected orientations in interpolation DMPlex ex1: Fixed test output - Uniform refinement for quads changed DMPlex: Fix overagressive checks
show more ...
|
| 262f856f | 10-Oct-2013 |
Karl Rupp <rupp@iue.tuwien.ac.at> |
CUSP, ViennaCL: Fixed wrong behavior of VecAYPX() for CUSP and ViennaCL vectors.
The case alpha == 0.0 was not handled correctly, where a copy y <- x is needed, but instead a no-op was implemented.
CUSP, ViennaCL: Fixed wrong behavior of VecAYPX() for CUSP and ViennaCL vectors.
The case alpha == 0.0 was not handled correctly, where a copy y <- x is needed, but instead a no-op was implemented.
Reported-by: Lawrence Mitchell <lawrence.mitchell@imperial.ac.uk>;
show more ...
|
| d892089b | 10-Oct-2013 |
Matthew G. Knepley <knepley@gmail.com> |
Compiler: Fix warnings from MPI impls which do not initialize outputs |
| e87d03f1 | 10-Oct-2013 |
Matthew G. Knepley <knepley@gmail.com> |
PetscSection: Must reset the section when changing the number of fields |
| 53deab39 | 09-Oct-2013 |
Peter Brune <brune@mcs.anl.gov> |
Added several additional MPI_Ops to PetscSFBasic.
Added MPI_LAND,MPI_BAND,MPI_LOR,MPI_BOR,MPI_LXOR,MPI_BXOR and MPI_PROD implementations for FetchAndOp and Unpack instances. Changed ex1.c so that t
Added several additional MPI_Ops to PetscSFBasic.
Added MPI_LAND,MPI_BAND,MPI_LOR,MPI_BOR,MPI_LXOR,MPI_BXOR and MPI_PROD implementations for FetchAndOp and Unpack instances. Changed ex1.c so that the user can specify the op by command line.
show more ...
|
| 603759cf | 09-Oct-2013 |
Karl Rupp <rupp@iue.tuwien.ac.at> |
Merge branch 'paulmullowney/cusp-vector-scatter-with-fix'
* paulmullowney/cusp-vector-scatter-with-fix: CUDA/CUSP: Implementation of Sequential to Sequential Vector Scatters |
| d090c6a4 | 07-Oct-2013 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'knepley/fix-plex-preallocation'
* knepley/fix-plex-preallocation: PetscSF: Fixed PetscSFCreateEmbeddedSF() - We were using sf->nleaves for the leaf buffer, which is completely wrong.
Merge branch 'knepley/fix-plex-preallocation'
* knepley/fix-plex-preallocation: PetscSF: Fixed PetscSFCreateEmbeddedSF() - We were using sf->nleaves for the leaf buffer, which is completely wrong. We have to use the largest thing in sf->mine[] DMPlex: Fix completely broken code in PetscSFCreateRemoteOffsets() - Non-broken example was in PetscSFDistributeSection() DMPlex: Fix leaks in preallocation debugging DMPlex: Put in guard for preallocation sections which are smaller than the SF
show more ...
|
| 64ef2356 | 04-Oct-2013 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'knepley/feature-closure-cache'
* knepley/feature-closure-cache: DMPlex: Added declaration of DMPlexCreateClosureIndex() SNES ex62: Use closure index DMPlex: Use closure index if
Merge branch 'knepley/feature-closure-cache'
* knepley/feature-closure-cache: DMPlex: Added declaration of DMPlexCreateClosureIndex() SNES ex62: Use closure index DMPlex: Use closure index if available for DMPlexVecGetClosure() DMPlex: Added DMPlexCreateClosureIndex() - Uses a PetscSection+IS and stashes in the original Section PetscSection: Added an index for optimization of closure queries - Added PetscSectionGet/SetClosureIndex() - The index is keyed to the DM which built it (use PetscObject) - Only use a single key for now since a lot of checking would be slow
Conflicts: src/snes/examples/tutorials/ex62.c
show more ...
|
| b348688e | 03-Oct-2013 |
Matthew G. Knepley <knepley@gmail.com> |
PetscSection: Added PetscSectionPermute() |
| 0511a646 | 02-Oct-2013 |
Matthew G. Knepley <knepley@gmail.com> |
PetscSF: Fixed PetscSFCreateEmbeddedSF() - We were using sf->nleaves for the leaf buffer, which is completely wrong. We have to use the largest thing in sf->mine[] |
| 25a75388 | 01-Oct-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Merge branch 'jed/remove-dynamic-loading-option'
Option --with-dynamic-loading has been removed. Similar functionality is available via the run-time option -dynamic_library_preload.
* jed/remove-d
Merge branch 'jed/remove-dynamic-loading-option'
Option --with-dynamic-loading has been removed. Similar functionality is available via the run-time option -dynamic_library_preload.
* jed/remove-dynamic-loading-option: Sys: PetscContainerCreate must call PetscSysInitializePackage Remove --with-dynamic-loading / PETSC_USE_DYNAMIC_LIBRARIES
Conflicts: src/dm/impls/mesh/mesh.c src/dm/interface/dlregisdmdm.c src/docs/website/documentation/changes/dev.html
show more ...
|
| 82515991 | 27-Sep-2013 |
Barry Smith <bsmith@mcs.anl.gov> |
added example showing how to use VecGetArray() from Fortran but treating the array as an array of Fortran derived types |
| 3b7f967f | 27-Sep-2013 |
Matthew G. Knepley <knepley@gmail.com> |
DMPlex: Fix completely broken code in PetscSFCreateRemoteOffsets() - Non-broken example was in PetscSFDistributeSection() |
| 8ab02f22 | 20-Aug-2013 |
Paul Mullowney <paulm@txcorp.com> |
Adding a test for GPU Sequential to Sequential Vector Scatters
All vector Sequential to Sequential vector scatters tested in this new example using SCATTER_FORWARD and ADD_VALUES for scatter paramet
Adding a test for GPU Sequential to Sequential Vector Scatters
All vector Sequential to Sequential vector scatters tested in this new example using SCATTER_FORWARD and ADD_VALUES for scatter parameters. This includes all four combinations of sequential general and sequential strided. Switching -vec_type between cusp and seq yields the same results.
show more ...
|
| 25ec7418 | 27-Sep-2013 |
Karl Rupp <rupp@iue.tuwien.ac.at> |
Original commit by Paul Mullowney (augmented by PETSC_HAVE_CUSP include guards by Karl Rupp): Implementation of Sequential to Sequential VecScatters on the GPU.
In this commit, I've built a working
Original commit by Paul Mullowney (augmented by PETSC_HAVE_CUSP include guards by Karl Rupp): Implementation of Sequential to Sequential VecScatters on the GPU.
In this commit, I've built a working prototype for sequential to sequential vector scatters for CUSP vectors. I've also reorganized the parallel to parallel vector scatters in a new infrastructure.
The design of the code is as follows. Currently, I distinguish between PtoP (parallel to parallel) VecScatters and StoS (sequential to sequential) VecScatters. In cuspvecimpl.h, a high level struct called PetscCUSPIndices stores a void * pointer and enumerated type describing whether the scatter is PtoP or StoS (and later PtoS and perhaps StoP). The actual type of scatter information built and stored in the void * pointer depends on the calling code.
For instance, in vscat.c, there are the methods VecScatterBegin_SGToSG, VecScatterBegin_SGToSS, ... These methods build the indices for the sequential scatter on demand via the function VecScatterCUSPIndicesCreate_StoS. Those indices are stored in a struct of type _p_VecScatterCUSPIndices_StoS. the appropriate data in that struct is filled depending on whether the input and output are general or strided. Some additional meta data is also stored.
A similar routine is called from vpscat.c for building the PtoP vector scatter. The structure of this hasn't changed although the constructing API method is now VecScatterCUSPIndicesCreate_PtoP (it used to be PetscCUSPIndicesCreate).
A single destructor function is given for the PtoP and StoS scatters: VecScatterCUSPIndicesDestroy. It used to be PetscCUSPIndicesDestroy.
I've made all of these methods PETSC_INTERN. I can't see any reason to expose these methods to the user.
All of the source code for doing the sequential scatter computation on the GPU is moved into a file vecscattercusp.cu (src/vec/vec/impls/seq/seqcusp). I haven't moved the VecCUSPCopyToGPUSome and similar methods into this file, although perhaps they belong there.
All scatter types implemented including FORWARD and REVERSE as well as INSERT, ADD, MAX.
show more ...
|
| e5c84f05 | 25-Sep-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
doc: restore functions in PETSc zero their arguments
This is done to prevent accidental misuse. In general, one can pass NULL for the pointer argument to keep the pointer around for longer, but use
doc: restore functions in PETSc zero their arguments
This is done to prevent accidental misuse. In general, one can pass NULL for the pointer argument to keep the pointer around for longer, but use of arrays after restoration is invalid.
Suggested-by: Wolfgang Bangerth <bangerth@math.tamu.edu>
show more ...
|
| 2492010b | 20-Sep-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Merge branch 'jed/object-id'
* jed/object-id: Sys: mark PetscObjectState modification as logically collective Sys: convert object ID to 64-bit and add PetscObjectGetId() Sys: typedef PetscObje
Merge branch 'jed/object-id'
* jed/object-id: Sys: mark PetscObjectState modification as logically collective Sys: convert object ID to 64-bit and add PetscObjectGetId() Sys: typedef PetscObjectState and change all accessors unified PetscObjectStateXXX() commands. Fixed PetscObjectStateQuery() to PetscObjectStateGet()
show more ...
|