| #
c0c93d0e
|
| 28-Aug-2013 |
Matthew G. Knepley <knepley@gmail.com> |
Merge branch 'master' into knepley/feature-dmda-section
* master: (287 commits) Mat ex170: Comments VTK: Small fix to error message (.vts to .vtu) VTK: Small fix to error message Fixed bib e
Merge branch 'master' into knepley/feature-dmda-section
* master: (287 commits) Mat ex170: Comments VTK: Small fix to error message (.vts to .vtu) VTK: Small fix to error message Fixed bib entries Bib: Updates AO: fix erroneous processing of -ao_view and factor into AOViewFromOptions doc: fix named argument in {Vec,Mat,DM}ViewFromOptions Sys: add PetscDataTypeFromString() and test code Mat: Should say that it has a nullspace in MatView() parms: update tarball with fix for namespace conflict with metis fix citation 'Golub_Varga_1961' parmetis: update tarball to parmetis-4.0.2-p5 which fixes an install issue with cygwin Sys Logging: revert parent traversal fixed hdf5.py so that if self.libraries.compression is None the code still runs correctly DMDA: fix bad cast of DM_DA to PetscObject MatClique: follow DistMultiVec API changes MatClique: remove unused variables config cmakeboot: add C++ flags any time compiler is available config OpenMP: check for C++ flag any time the compiler is available replaced all left-over uses of a single PetscMalloc() to allocated multiple arrays: replaced with PetscMallocN() The only ones left are when the second array is set into the first array and one ugly usage in the MUMPS interface that cannot be easily fixed ...
show more ...
|
| #
11e456e1
|
| 17-Aug-2013 |
Barry Smith <bsmith@mcs.anl.gov> |
removed Mat option for skipping checking of compressed row format since it is now free using the nonzerorowcnt previously introduced
|
| #
aed5ffcb
|
| 05-Aug-2013 |
Karl Rupp <rupp@iue.tuwien.ac.at> |
Merge branch 'paulmullowney/txpetscgpu-package-removal2'
|
| #
e88ab3e4
|
| 05-Aug-2013 |
Hong Zhang <hzhang@mcs.anl.gov> |
Merge branch 'hzhang/mat-redundant'
|
| #
b2bf6370
|
| 01-Aug-2013 |
Hong Zhang <hzhang@mcs.anl.gov> |
rm psubcomm from MatGetRedundantMatrix() because Jed does not like it :-(
|
| #
c79c5527
|
| 28-Jul-2013 |
Hong Zhang <hzhang@mcs.anl.gov> |
add 'psubcomm' as an input for MatGetRedundantMatrix(): user can provide his own subcomm, or psubsomm, or nsubcomm
|
| #
d3b23db5
|
| 11-Jul-2013 |
Hong Zhang <hzhang@mcs.anl.gov> |
rm mlocal_red from MatGetRedundantMatrix() set defaults in PetscSubcommCreate()
|
| #
36d62e41
|
| 25-Jul-2013 |
Paul Mullowney <paulm@txcorp.com> |
Removing unused enumerated parapeters from MatCUSP/CUSPARSEFormatOperation
I remove MAT_CUSP_SOLVE from MatCUSPFormatOperation and MAT_CUSPARSE_SOLVE from MatCUSPARSEFormatOperation as potential par
Removing unused enumerated parapeters from MatCUSP/CUSPARSEFormatOperation
I remove MAT_CUSP_SOLVE from MatCUSPFormatOperation and MAT_CUSPARSE_SOLVE from MatCUSPARSEFormatOperation as potential parameters for choosing the storage of the matrix for tirangular solve. In particular, the triangular solves was always using csr format so this parameter had no effect. Moreover, I never found a case where an ellpack/hybrid format worked better. Thus I remove this as a potential parameter. However, I think it is important to keep MatCUSP/CUSPARSEFormatOperation in the code. In the future I can see a MAT_CUSPARSE_FACTOR option which uses CUSPARSE to do ilu0/ic0 factorization on the GPU.
show more ...
|
| #
b0418fcf
|
| 25-Jul-2013 |
Stefano Zampini <stefano.zampini@gmail.com> |
Merge remote-tracking branch 'origin/master' into stefano_zampini/pcbddc-improvelocalsolvers
|
| #
8533652c
|
| 25-Jul-2013 |
Stefano Zampini <stefano.zampini@gmail.com> |
Merge remote-tracking branch 'origin/master' into stefano_zampini/pcbddc-mirrorsfix
|
| #
6daa6ed0
|
| 25-Jul-2013 |
Stefano Zampini <stefano.zampini@gmail.com> |
Merge remote-tracking branch 'origin/master' into stefano_zampini/pcbddc-constraintssetupimproved
|
| #
72cfe0ad
|
| 23-Jul-2013 |
Karl Rupp <rupp@iue.tuwien.ac.at> |
Merge branch 'paulmullowney/txpetscgpu-package-removal'
|
| #
2692e278
|
| 08-Jul-2013 |
Paul Mullowney <paulm@txcorp.com> |
Adding PREPROCESSOR directives to protect ELL and HYB storage formats.
I've added preprocessor directives around all code using the cusparse hybrid (or ellpack) format to only build when CUDA 4.2 or
Adding PREPROCESSOR directives to protect ELL and HYB storage formats.
I've added preprocessor directives around all code using the cusparse hybrid (or ellpack) format to only build when CUDA 4.2 or beyond is being used. I've also changed the documentation in a few places to reflect this. In a few places, protections were required for CUDA 5.0 (hyb2csr conversion and in the stream creation in veccusp.cu).
Also adding code to the init.c that 1) checks cuda error codes and 2) sets the device flags so that memory can be registered as paged- locked via : cudaSetDeviceFlags(cudaDeviceMapHost). This should be valid for all 1.3 devices and later. Moreover, these changes allow multiple MPI threads to work on 1 GPU using cuda streams in a thread safe manner.
show more ...
|
| #
aa372e3f
|
| 20-Jun-2013 |
Paul Mullowney <paulm@txcorp.com> |
Removal of TXPETSCGPU package from the SEQAIJCUSPARSE class
In this commit, I've removed the dependence of the SEQAIJCUSPARSE class on the TXPETSCGPU package. However, other classes such as SEQAIJCU
Removal of TXPETSCGPU package from the SEQAIJCUSPARSE class
In this commit, I've removed the dependence of the SEQAIJCUSPARSE class on the TXPETSCGPU package. However, other classes such as SEQAIJCUSP, VECCUSP, and MPIAIJCUSPARSE, and MPIAIJCUSP still depend on that package. These dependencies will be removed in subsequent commits once the design and structure is agreed upon.
The reason for this dependency removal is that SEQAIJCUSPARSE only depends on the Nvidia CUSPARSE library which comes standard with CUDA. Thus, the SEQAIJCUSPARSE class should be built whenever PETSc is built with CUDA support. This will be far more maintanable in the long term. Lastly, most of the CUSP dependencies have been removed from this class. The only remaining CUSP dependencies are in the vector data structures used in MatMult* and MatSolve* methods. These will be removed in a subsequent branch as it is not clear what the architecture should be yet.
In order to accomodate all the different functionality for various Krylov solves, two new data structures were defined in cusparsematimpl.h. The first is a Mat_SeqAIJCUSPARSEMultStruct struct. This contains an opaque pointer for a matrix, a MatDescription data structure, and indices vector which will be useful in MatMultAdd functions. The second new data structure is a Mat_SeqAIJCUSPARSETriFactorStruct struct. This contains an CSR Matrix pointer, a MatDescription data structure, a solve analysis data structure and an operation type.
Next, Mat_SeqAIJCUSPARSETriFactors was redefined to hold pointers to up to 4 different Mat_SeqAIJCUSPARSETriFactorStruct structs: one for lower and one for upper solves for both ILU and ICC. Two more for lower and upper solves in algorithms that require a transpose, such as BiCG. The latter two are necessary, as far as I can tell, because one doesn't know until runtime if data structures for the transpose are needed Thus, those are created on demand. Indexing vectors for reorderings are also stored in Mat_SeqAIJCUSPARSETriFactors.
Lastly, Mat_SeqAIJCUSPARSE is the data structure that holds the data needed in multiply. There are 2 pointers to Mat_SeqAIJCUSPARSEMultStruct structs for MatMult and MatMultTranspose. Several auxilliary data structures like workvectors and few other necessary data for MatMult are also stored in here. One important variable, the cudaStream_t, is stored here but it is not owned. Streams are necessary for the parallel SpMV (a subsequent commit will add code setting stream variables from the MPIAIJCUSPARSE class) and the matrices used in the MatMult and MatMultAdd will then use the same stream identifier to attain optimal performance. The MPIAIJCUSPARSE class will own the stream variable which is then used in the SEQAIJCUSPARSE methods.
In matregis.c as well as the petscmat.h and finclude/petscmat.h, I've changed the dependency of SEQAIJCUSPARSE to be on CUDA and not TXPETSCGPU.
The test series TESTEXAMPLES_TXPETSCGPU has been changed to TESTEXAMPLES_CUDA since SEQAIJCUSPARSE only depends on CUDA as discussed above. ksp/ksp/examples/tests/ex43-aijcusparse.c has been renamed to ksp/ksp/examples/tests/ex43.c, the targets in the makefile have been changed appropriately and the results fiels are renamed. Two new test targets were added in ksp/ksp/examples/tests/makefile that test aijcusparse using bicg (and thus the MatSolveTranspose and MatMultTranspose methods) as well as bicg with reordering. The previous results for runex43_2.out (formerly runex43-aijcusparse_2.out) were wrong and so I'm committing new results that agree with CPU based computation. The code is valgrind clean and cuda-memcheck clean.
show more ...
|
| #
81f98445
|
| 02-Jul-2013 |
Peter Brune <brune@mcs.anl.gov> |
Merge branch 'prbrune/dm-coordinaterestrict' into prbrune/snes-elasticityexample
|
| #
75608d42
|
| 28-Jun-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Merge branch 'jed/mat-factor-shift'
* jed/mat-factor-shift: Mat PCFactor: include MatFactorShiftType in PCView_Factor output
|
| #
9e483975
|
| 13-Jun-2013 |
Karl Rupp <rupp@iue.tuwien.ac.at> |
Merge branch 'karlrupp/feature-viennacl'
|
| #
e33c197d
|
| 11-Jun-2013 |
Richard Mills <rtm@eecs.utk.edu> |
Merged petsc/petsc into rmills/petsc master.
|
| #
66c8140f
|
| 05-Jun-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Merge branch 'jed/matnullspaceremove-inplace'
* jed/matnullspaceremove-inplace: Mat: remove 'vec' member of MatNullSpace Mat: remove third argument to MatNullSpaceRemove
|
| #
386b2e21
|
| 01-Jun-2013 |
Barry Smith <bsmith@mcs.anl.gov> |
Merge branch 'barry/fix-docs-regarding-xxxtype'
|
| #
8f6c3df8
|
| 01-Jun-2013 |
Barry Smith <bsmith@mcs.anl.gov> |
Removed the ability of XXXType to be the string name of a library and function in that library but forgot to remove this form from all the XXXAType manual pages
|
| #
5e9742b9
|
| 01-Jun-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Mat PCFactor: include MatFactorShiftType in PCView_Factor output
Consolidates the detailed shift string and updates all output files, including a couple that have not been run in a long time and hav
Mat PCFactor: include MatFactorShiftType in PCView_Factor output
Consolidates the detailed shift string and updates all output files, including a couple that have not been run in a long time and have other problems.
show more ...
|
| #
d0195637
|
| 21-May-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Mat: remove third argument to MatNullSpaceRemove
Out of place removals were dangerous because the MatNullSpace held the only reference to the resulting Vec, which is dangerous. This use case is rar
Mat: remove third argument to MatNullSpaceRemove
Out of place removals were dangerous because the MatNullSpace held the only reference to the resulting Vec, which is dangerous. This use case is rare (never used in PETSc itself) and can easily be accomplished:
VecDuplicate(x,&y); VecCopy(x,y); MatNullSpaceRemove(nullsp,y);
Suggested-by: Tobin Isaac <tisaac@ices.utexas.edu>
show more ...
|
| #
d67ff14a
|
| 16-Mar-2013 |
Karl Rupp <rupp@iue.tuwien.ac.at> |
ViennaCL: Added sequential AIJ matrix.
Compiles, 'make test' passes. Further testing required. Injects similar to PETSC_HAVE_CUSP into existing functions. A general concept for dealing with accelera
ViennaCL: Added sequential AIJ matrix.
Compiles, 'make test' passes. Further testing required. Injects similar to PETSC_HAVE_CUSP into existing functions. A general concept for dealing with accelerators is required here, but postponed after release 3.4. aijAssemble.cpp is a stub, also row-compressed CSR is not yet supported.
show more ...
|
| #
329d851f
|
| 13-May-2013 |
Jed Brown <jedbrown@mcs.anl.gov> |
Merge branch 'barry/fix-xxxviewsetfromoptions'
* barry/fix-xxxviewsetfromoptions: *ViewFromOptions: update documentation, providing disabled man pages fixed bug where XXXViewFromOptions() used p
Merge branch 'barry/fix-xxxviewsetfromoptions'
* barry/fix-xxxviewsetfromoptions: *ViewFromOptions: update documentation, providing disabled man pages fixed bug where XXXViewFromOptions() used prefix of object rather than appropriate prefix of KSP or SNES
show more ...
|