ExaAdmm

Julia implementation of ADMM solver on multiple GPUs

https://github.com/exanauts/exaadmm.jl

Science Score: 64.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
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 7 committers (28.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

admm gpu-computing julia
Last synced: 4 months ago · JSON representation ·

Repository

Julia implementation of ADMM solver on multiple GPUs

Basic Info
  • Host: GitHub
  • Owner: exanauts
  • License: mit
  • Language: Julia
  • Default Branch: main
  • Homepage:
  • Size: 1.21 MB
Statistics
  • Stars: 22
  • Watchers: 7
  • Forks: 3
  • Open Issues: 11
  • Releases: 15
Topics
admm gpu-computing julia
Created about 4 years ago · Last pushed 4 months ago
Metadata Files
Readme License Citation

README.md

ExaAdmm.jl

DOI

ExaAdmm.jl implements the two-level alternating direction method of multipliers for solving the component-based decomposition of alternating current optimal power flow problems on GPUs.

How to install

The package can be installed in the Julia REPL with the command below:

julia ] add ExaAdmm

Running the algorithms on the GPU requires either NVIDIA GPUs with CUDA.jl or KernelAbstractions.jl (KA) with the respective device support (e.g., AMDGPU.jl and ROCKernels.jl). Currently, only the ACOPF problem is supported using KA.

How to run

Currently, ExaAdmm.jl supports electrical grid files in the MATLAB format. You can download them from here. Below shows an example of solving case1354pegase.m using ExaAdmm.jl on an NVIDIA GPU

```julia using ExaAdmm

env, mod = solveacopf( "case1354pegase.m"; rhopq=1e1, rhova=1e3, outeriterlim=20, inneriterlim=20, scale=1e-4, tightfactor=0.99, use_gpu=true, verbose=1 ); and the same example on an AMD GPU: julia using ExaAdmm using AMDGPU

env, mod = solveacopf( "case1354pegase.m"; rhopq=1e1, rhova=1e3, outeriterlim=20, inneriterlim=20, scale=1e-4, tightfactor=0.99, usegpu=true, kadevice = ROCBackend(), verbose=1 ) ``` The following table shows parameter values we used for solving pegase and ACTIVSg data.

Data | rhopq | rhova | scale | obj_scale ----------- | ------ | ------ | ----- | --------- 1354pegase | 1e1 | 1e3 | 1e-4 | 1.0 2869pegase | 1e1 | 1e3 | 1e-4 | 1.0 9241pegase | 5e1 | 5e3 | 1e-4 | 1.0 13659pegase | 5e1 | 5e3 | 1e-4 | 1.0 ACTIVSg25k | 3e3 | 3e4 | 1e-5 | 1.0 ACTIVSg70k | 3e4 | 3e5 | 1e-5 | 2.0

We have used the same tight_factor=0.99, outer_iterlim=20, and inner_iterlim=1000 for all of the above data.

Publications

  • Youngdae Kim and Kibaek Kim. "Accelerated Computation and Tracking of AC Optimal Power Flow Solutions using GPUs" arXiv preprint arXiv:2110.06879, 2021
  • Youngdae Kim, François Pacaud, Kibaek Kim, and Mihai Anitescu. "Leveraging GPU batching for scalable nonlinear programming through massive lagrangian decomposition" arXiv preprint arXiv:2106.14995, 2021

Acknowledgments

This research was supported by the Exascale ComputingProject (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration. This material is based upon work supported by the U.S. Department of Energy, Office of Science, under contract number DE-AC02-06CH11357.

Owner

  • Name: Exanauts
  • Login: exanauts
  • Kind: organization

An eclectic collection of ECP ExaSGD project codes

Citation (CITATION.cff)

cff-version: 1.2.0
authors:
  - family-names: Kim
    given-names: Youngdae
  - family-names: Kim
    given-names: Kibaek
  - family-names: Zhang
    given-names: Weiqi
  - family-names: Pacaud
    given-names: François
  - family-names: Schanen
    given-names: Michel
doi: 10.5281/zenodo.6613877

GitHub Events

Total
  • Watch event: 4
  • Push event: 38
Last Year
  • Watch event: 4
  • Push event: 38

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 66
  • Total Committers: 7
  • Avg Commits per committer: 9.429
  • Development Distribution Score (DDS): 0.712
Top Committers
Name Email Commits
Kibaek Kim k****k@g****m 19
Michel Schanen m****n@a****v 19
Youngdae Kim y****e@a****v 10
Michel Schanen M****n@g****m 7
wzhangw w****4@g****m 7
François Pacaud f****c@u****m 3
fpacaud f****8@g****m 1
Committer Domains (Top 20 + Academic)
anl.gov: 2

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 25
  • Total pull requests: 34
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 14 days
  • Total issue authors: 4
  • Total pull request authors: 5
  • Average comments per issue: 2.28
  • Average comments per pull request: 0.35
  • Merged pull requests: 30
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • kibaekkim (18)
  • michel2323 (4)
  • lukeli1990 (1)
  • JuliaTagBot (1)
Pull Request Authors
  • michel2323 (21)
  • kibaekkim (6)
  • frapac (4)
  • wzhangw (2)
  • lukeli1990 (1)
Top Labels
Issue Labels
bug (4) enhancement (3)
Pull Request Labels
enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 1 total
  • Total dependent packages: 1
  • Total dependent repositories: 0
  • Total versions: 15
juliahub.com: ExaAdmm

Julia implementation of ADMM solver on multiple GPUs

  • Versions: 15
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 1 Total
Rankings
Dependent repos count: 9.9%
Dependent packages count: 23.0%
Average: 25.1%
Forks count: 33.3%
Stargazers count: 34.1%
Last synced: 4 months ago

Dependencies

.github/workflows/DocsCleanup.yml actions
  • actions/checkout v2 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • julia-actions/julia-buildpkg latest composite
  • julia-actions/julia-runtest latest composite
  • julia-actions/setup-julia latest composite