Hypredrive

Hypredrive: High-level interface for solving linear systems with hypre - Published in JOSS (2024)

https://github.com/hypre-space/hypredrive

Science Score: 98.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Mathematics Computer Science - 40% confidence
Last synced: 6 months ago · JSON representation ·

Repository

High-level interface for solving linear systems with hypre

Basic Info
  • Host: GitHub
  • Owner: hypre-space
  • License: other
  • Language: C
  • Default Branch: master
  • Homepage:
  • Size: 2.31 MB
Statistics
  • Stars: 4
  • Watchers: 5
  • Forks: 0
  • Open Issues: 16
  • Releases: 1
Created over 2 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

DOI

hypredrive

High-level interface for solving linear systems with hypre, providing a user-friendly way to leverage its functionalities. Key features are:

  1. YAML Input: Accepts configuration parameters written in the structured and human-readable YAML format.
  2. Intuitive Interface: Offers a clear and concise API, encapsulating the functionalities of hypre to ensure user-friendly interactions.
  3. Prototyping: Establishes a quick prototyping framework, facilitating the exploration of various solver/preconditioner setups.
  4. Testing: Enables the construction of an integrated testing framework, accommodating problems from applications built on hypre.

Getting Started

The instructions for building hypredrive are given below:

$ autoreconf -i $ ./configure --prefix=${PWD}/install --with-hypre-dir=${HYPRE_INSTALL_DIR} $ make all $ make check $ make install

Note: 1. The first step must be executed only once after cloning this repository. 2. hypre needs to be installed at ${HYPRE_INSTALL_DIR}. 3. For GPU support, add --with-cuda (NVIDIA GPUs) or --with-hip (AMD GPUs) to ./configure.

Examples

The user's manual has a detailed section about running examples. For a quick-start, try running the first example from the top-level folder:

``` $ mpirun -np 1 ./hypredrive examples/ex1.yml

Date and time: YYYY-MM-DD HH:MM:SS

Using HYPREDEVELOPSTRING: HYPREVERSIONGOES_HERE

Running on 1 MPI rank

general: usemillisec: on linearsystem: rhsfilename: data/ps3d10pt7/np1/IJ.out.b matrixfilename: data/ps3d10pt7/np1/IJ.out.A solver: pcg

preconditioner: amg

====================================================================================

Solving linear system #0 with 1000 rows and 6400 nonzeros...

STATISTICS SUMMARY:

+------------+-------------+-------------+-------------+-------------+-------------+ | | LS build | setup | solve | relative | | | Entry | times [ms] | times [ms] | times [ms] | res. norm | iters | +------------+-------------+-------------+-------------+-------------+-------------+ | 0 | 2.706 | 2.846 | 1.361 | 4.98e-08 | 6 | +------------+-------------+-------------+-------------+-------------+-------------+

Date and time: YYYY-MM-DD HH:MM:SS ${HYPREDRIVE_PATH}/hypredrive done! ```

Documentation

Check hypredrive's manual here.

Contributing

Please read CONTRIBUTING for details on contributing to hypredrive, including the process for submitting pull requests to us.

Citing

If you are referencing hypredrive in a publication, please cite the following paper:

Magri, V. A. P. (2024). Hypredrive: High-level interface for solving linear systems
with hypre. Journal of Open Source Software,
9(98), 6654. https://doi.org/10.21105/joss.06654

You can easily obtain the citation in APA or BibTeX format directly from GitHub. Navigate to the "Cite this repository" option located in the "About" section. Alternatively, you can find the raw BibTeX format in the comments section of the CITATION file.

License

This project is licensed under the MIT License - see the LICENSE file for details. All new contributions must be made under this license.

SPDX-License-Identifier: MIT

LLNL-CODE-861860

Owner

  • Name: hypre-space
  • Login: hypre-space
  • Kind: organization

JOSS Publication

Hypredrive: High-level interface for solving linear systems with hypre
Published
June 24, 2024
Volume 9, Issue 98, Page 6654
Authors
Victor A. p. Magri ORCID
Lawrence Livermore National Laboratory, CA, USA
Editor
Lucy Whalley ORCID
Tags
linear solvers preconditioning algebraic multigrid high performance computing

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Magri
  given-names: Victor A. P.
  orcid: "https://orcid.org/0000-0002-3389-523X"
doi: 10.5281/zenodo.11657386
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Magri
    given-names: Victor A. P.
    orcid: "https://orcid.org/0000-0002-3389-523X"
  date-published: 2024-06-24
  doi: 10.21105/joss.06654
  issn: 2475-9066
  issue: 98
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6654
  title: "Hypredrive: High-level interface for solving linear systems
    with hypre"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06654"
  volume: 9
title: "*Hypredrive*: High-level interface for solving linear systems
  with *hypre*"

# Raw BibTeX format:
# @article{Magri2024,
#   author = {Magri, Victor A. P.},
#   title = {{Hypredrive: High-level interface for solving linear systems with hypre}},
#   journal = {Journal of Open Source Software},
#   volume = {9},
#   number = {98},
#   pages = {6654},
#   year = {2024},
#   month = jun,
#   doi = {10.21105/joss.06654},
#   url = {https://joss.theoj.org/papers/10.21105/joss.06654},
#   publisher = {Open Journals},
#   issn = {2475-9066}
# }

GitHub Events

Total
  • Watch event: 5
  • Delete event: 7
  • Push event: 17
  • Pull request event: 13
  • Create event: 6
Last Year
  • Watch event: 5
  • Delete event: 7
  • Push event: 17
  • Pull request event: 13
  • Create event: 6

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 72
  • Total Committers: 1
  • Avg Commits per committer: 72.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 10
  • Committers: 1
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Victor A. P. Magri 5****m 72

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 37
  • Total pull requests: 44
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 2 hours
  • Total issue authors: 3
  • Total pull request authors: 2
  • Average comments per issue: 0.24
  • Average comments per pull request: 0.0
  • Merged pull requests: 44
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 15
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 minutes
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • victorapm (34)
  • matteofrigo5 (1)
  • DamynChipman (1)
Pull Request Authors
  • victorapm (54)
  • danielskatz (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

docs/usrman-src/requirements.txt pypi
  • breathe >=4.34
  • docutils >=0.17.1
  • sphinx >=5.3
  • sphinx-rtd-theme >=1.1.1
  • sphinx_copybutton >=0.4.0