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
Repository
Julia implementation of ADMM solver on multiple GPUs
Basic Info
Statistics
- Stars: 22
- Watchers: 7
- Forks: 3
- Open Issues: 11
- Releases: 15
Topics
Metadata Files
README.md
ExaAdmm.jl
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
- Website: https://exanauts.github.io/
- Repositories: 19
- Profile: https://github.com/exanauts
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 | 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)
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
Pull Request Labels
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
- Documentation: https://docs.juliahub.com/General/ExaAdmm/stable/
- License: MIT
-
Latest release: 0.6.1
published over 2 years ago
Rankings
Dependencies
- actions/checkout v2 composite
- JuliaRegistries/TagBot v1 composite
- actions/checkout v3 composite
- julia-actions/julia-buildpkg latest composite
- julia-actions/julia-runtest latest composite
- julia-actions/setup-julia latest composite