History log of /petsc/src/mat/interface/matregis.c (Results 1 – 25 of 390)
Revision Date Author Comments
# 9a3a8673 17-Oct-2025 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jczhang/2025-09-19/precision-mumps' into 'main'

Support different precisions with MUMPS

See merge request petsc/petsc!8715


# d1a032db 26-Aug-2024 Pierre Jolivet <pierre@joliv.et>

Enable ScaLAPACK and MUMPS for other precisions


# 3b91a372 26-Mar-2024 Satish Balay <balay@mcs.anl.gov>

Merge branch 'hongzh/sell-hip' into 'main'

Add SELLHIP

See merge request petsc/petsc!7338


# 773bf0f6 05-Mar-2024 Hong Zhang <hongzhang@anl.gov>

Add SELLHIP

- The HIP kernels are converted directly from their CUDA version
- AMD GPUs and NVIDIA GPUs use different warp sizes. We set the warp size to 64 by default for AMD GPUs to faciliate comp

Add SELLHIP

- The HIP kernels are converted directly from their CUDA version
- AMD GPUs and NVIDIA GPUs use different warp sizes. We set the warp size to 64 by default for AMD GPUs to faciliate compile-time code optimization

show more ...


# 8f649e38 28-Jun-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'knepley/feature-mat-lrc-create' into 'main'

Mat: Now MatLRC registers a creation routine and responds like a regular Mat type

See merge request petsc/petsc!6640


# bcf2175c 28-Jun-2023 Matthew Knepley <knepley@gmail.com>

Mat: Now MatLRC registers a creation routine and responds like a regular Mat type

Co-Authored-by: Jose E. Roman <jroman@dsic.upv.es>


# 93d6cec8 30-May-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'tisaac/feature-mat-vectordiagonal' into 'main'

Add MATDIAGONAL and PCMatSetApplyOperation()

See merge request petsc/petsc!6487


# 345a4b08 19-May-2023 Toby Isaac <toby.isaac@gmail.com>

Add `MATDIAGONAL` and `PCMatSetApplyOperation()`

`MATDIAGONAL` (`MatCreateDiagonal()`) is an interface for
manipulating a diagonal matrix as a `Vec`, in particular supporting
no-copy modification of

Add `MATDIAGONAL` and `PCMatSetApplyOperation()`

`MATDIAGONAL` (`MatCreateDiagonal()`) is an interface for
manipulating a diagonal matrix as a `Vec`, in particular supporting
no-copy modification of the diagonal and inverse diagonal via
`MatDiagonalGetDiagonal()`, `MatDiagonalRestoreDiagonal()`,
`MatDiagonalGetInverseDiagonal()`, and
`MatDiagonalRestoreInverseDiagonal`().

`PCMatSetApplyOperation()` and `PCMatGetApplyOperation()`
support using all the linear operators currently defined by a `Mat`
(`MatMult()`, `MatMultTranspose()`, `MatMultHermitianTranspose()`,
`MatSolve()`, `MatSolveTranspose()`) as the operation of `PCApply()`
for a `PCMAT`. The advantage over a `PCSHELL` is that the other
operations (`PCApplyTranspose()`, `PCMatApply()`) are automatically
inferred.

These tools help make it easier to route operations like
`VecPointwiseMult()` and `VecPointwiseDivide()` through
`KSPSolve()` to avoid handling diagonal matrices as a special
case (a pattern that is going to be removed from `MATLMVM`).

show more ...


# dd874c20 10-Apr-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'hongzh/sell-cuda' into 'main'

SELL-based SpMV

See merge request petsc/petsc!3428


# 2d1451d4 09-Jan-2020 Hong Zhang <hongzhang@anl.gov>

Initial commit for porting SELL to GPU

- Add tiled SPMV and basic SpMVfor SeqSELL
- Tested in serial
- Offloadmask is used to determine when the matrix should be copied to GPU
- Use different slice

Initial commit for porting SELL to GPU

- Add tiled SPMV and basic SpMVfor SeqSELL
- Tested in serial
- Offloadmask is used to determine when the matrix should be copied to GPU
- Use different slice height for CUDA version
- By checking the nonzerostate, PETSc can decide if the whole matrix need to be copied or just the values need to be copied
- Make the convert function public so that the very slow MatConvert_Basic can be avoided sometimes. E.g. one can use a two-step convert method: AIJ->SELL,SELL->SELLCUDA instead of the direct convert AIJ->SELLCUDA
- Make the FLOPS count for SELL same as that for AIJCUSPARSE.
- MatDisAssemble is not needed.
- Change slice height from 32 to 16 for GPU
- To overlap communication with MatMult, VecScatterBegin() should be called before MatMult() for the diagonal part.
- SLICE_HEIGHT is defined to be 32 to match the warp size of GPU. For other cases, it is still 8.

Funded-by:
Project: PETSc for GPU
Time: 42 hours
Reported-by:
Thanks-to:

show more ...


# 2f1953c4 14-Mar-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2023-01-11/matdensecupm' into 'main'

Feature: MATDENSECUPM

See merge request petsc/petsc!6049


# 4742e46b 22-Feb-2023 Jacob Faibussowitsch <jacob.fai@gmail.com>

MatDense CUPM


# 31d78bcd 02-Feb-2023 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2022-12-10/petscerrorcode-nodiscard' into 'main'

Feature: Non-discardable PetscErrorCode

See merge request petsc/petsc!5923


# 3ba16761 10-Dec-2022 Jacob Faibussowitsch <jacob.fai@gmail.com>

Make PetscErrorCode a non-discardable enum


# c1f49a03 01-Oct-2022 Satish Balay <balay@mcs.anl.gov>

Merge branch 'suyash/hip' into 'main'

Add HIP support to Mat class in PETSc

See merge request petsc/petsc!5383


# 47d993e7 01-Oct-2022 suyashtn <suyashtn@umich.edu>

Add HIP support to Mat class in PETSc

Co-authored-by: Justin Chang <jychang48@gmail.com>

Fixed-by: Jacob Faibussowitsch <jacob.fai@gmail.com>
Fixed-by: Junchao Zhang <jczhang@mcs.anl.gov>
Fixed-by:

Add HIP support to Mat class in PETSc

Co-authored-by: Justin Chang <jychang48@gmail.com>

Fixed-by: Jacob Faibussowitsch <jacob.fai@gmail.com>
Fixed-by: Junchao Zhang <jczhang@mcs.anl.gov>
Fixed-by: Satish Balay <balay@mcs.anl.gov>

show more ...


# 061e922f 22-Sep-2022 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2022-09-21/2-bike-2-shed' into 'main'

Feature: Bicycle Storage Facility 2

See merge request petsc/petsc!5661


# d71ae5a4 21-Sep-2022 Jacob Faibussowitsch <jacob.fai@gmail.com>

source code format changes due to .clang-format changes


# a3c22455 05-Sep-2022 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2022-08-15/fix-mat-manpages' into 'main'

Man pages in mat directory, manual material on matrices

See merge request petsc/petsc!5539


# 11a5261e 17-Aug-2022 Barry Smith <bsmith@mcs.anl.gov>

Fix manual pages in src/mat directory, very minor source code change

Commit-type: documentation
/spend 22h


# 58d68138 23-Aug-2022 Satish Balay <balay@mcs.anl.gov>

Merge branch 'barry/2022-08-21/clang-format-source' into 'main'

format repository with clang-format

See merge request petsc/petsc!5541


# 9371c9d4 22-Aug-2022 Satish Balay <balay@mcs.anl.gov>

clang-format: convert PETSc sources to comply with clang-format


# 89669be4 02-May-2022 Satish Balay <balay@mcs.anl.gov>

Merge branch 'psanan/docs-sphinx-man-pages' into 'main'

Integrate Man Pages into Sphinx Docs

Closes #1132 and #1015

See merge request petsc/petsc!4989


# db781477 25-Apr-2022 Patrick Sanan <patrick.sanan@gmail.com>

Docs: bulk add backticks to .seealso man page fields

```python
import os
import re
import fileinput

def _process_word(word):
comma = "," if word.endswith(",") else ""
return "`%s`%s" % (wor

Docs: bulk add backticks to .seealso man page fields

```python
import os
import re
import fileinput

def _process_word(word):
comma = "," if word.endswith(",") else ""
return "`%s`%s" % (word.rstrip(","), comma)

def _process_stripped_line(line):
return " ".join(map(_process_word, line.split()))

start_pattern = re.compile(r"^( *\.seealso:? )(.*$)")

def process_file(filename_full):
with fileinput.FileInput(filename_full, inplace=True) as f:
in_block = False
for line in f:
line_stripped = line.strip()
# end ".seealso blocks" on a blank line or C-style comment close
line_modified = None
if not line_stripped:
in_block = False
elif line_stripped.endswith("*/"):
in_block = False
else:
match = re.match(start_pattern,
line) # not stripped line
if match:
indent = " " * len(match.group(1))
in_block = True
line_modified = match.group(
1) + _process_stripped_line(
match.group(2).strip())
elif in_block:
line_modified = indent + _process_stripped_line(
line_stripped)
if line_modified:
print(line_modified) # prints to the file
else:
print(line, end="") # prints to the file

BASE_DIRS = ["src", "include"]
EXT = [".c", ".cxx", ".cpp", ".cu", ".h", ".hpp", ".hxx"]
EXCLUDE_DIRS = ["tests", "tutorials", "ftn-auto", "ftn-custom", "benchmarks"]

def main():
""" Process everything """
for base in BASE_DIRS:
for root, dirs, files in os.walk(base):
for filename in files:
if os.path.splitext(filename)[1] in EXT:
filename_full = os.path.join(root, filename)
print("FILE ---", filename_full)
process_file(filename_full)
for exclude_dir in EXCLUDE_DIRS:
if exclude_dir in dirs:
dirs.remove(exclude_dir)

if __name__ == "__main__":
main()
```

show more ...


# f882803c 26-Mar-2022 Satish Balay <balay@mcs.anl.gov>

Merge branch 'jacobf/2022-02-23/variadic-chkerr' into 'main'

Variadic CHKERRQ()

See merge request petsc/petsc!4889


12345678910>>...16