Science Score: 59.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
19 of 37 committers (51.4%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.2%) to scientific vocabulary
Keywords
array
code-generation
code-generator
code-optimization
code-transformation
cuda
ispc
loop-optimization
multidimensional-arrays
opencl
performance
performance-analysis
prefix-sum
python
reduction
scan
scientific-computing
Keywords from Contributors
parallel-computing
shared-memory
pyopencl
computer-algebra
expression-tree
symbolic-computation
term-rewriting
heterogeneous-parallel-programming
parallel-algorithm
sorting
Last synced: 6 months ago
·
JSON representation
Repository
A code generator for array-based code on CPUs and GPUs
Basic Info
- Host: GitHub
- Owner: inducer
- License: mit
- Language: Python
- Default Branch: main
- Homepage: http://mathema.tician.de/software/loopy
- Size: 13.1 MB
Statistics
- Stars: 613
- Watchers: 23
- Forks: 78
- Open Issues: 175
- Releases: 3
Topics
array
code-generation
code-generator
code-optimization
code-transformation
cuda
ispc
loop-optimization
multidimensional-arrays
opencl
performance
performance-analysis
prefix-sum
python
reduction
scan
scientific-computing
Created over 11 years ago
· Last pushed 6 months ago
Metadata Files
Readme
License
Citation
README.rst
Loopy: Transformation-Based Generation of High-Performance CPU/GPU Code
=======================================================================
.. image:: https://gitlab.tiker.net/inducer/loopy/badges/main/pipeline.svg
:alt: Gitlab Build Status
:target: https://gitlab.tiker.net/inducer/loopy/commits/main
.. image:: https://github.com/inducer/loopy/actions/workflows/ci.yml/badge.svg
:alt: Github Build Status
:target: https://github.com/inducer/loopy/actions/workflows/ci.yml
.. image:: https://badge.fury.io/py/loopy.svg
:alt: Python Package Index Release Page
:target: https://pypi.org/project/loopy/
.. image:: https://zenodo.org/badge/20281732.svg
:alt: Zenodo DOI for latest release
:target: https://zenodo.org/doi/10.5281/zenodo.10672274
Loopy lets you easily generate the tedious, complicated code that is necessary
to get good performance out of GPUs and multi-core CPUs.
Loopy's core idea is that a computation should be described simply and then
*transformed* into a version that gets high performance. This transformation
takes place under user control, from within Python.
It can capture the following types of optimizations:
* Vector and multi-core parallelism in the OpenCL/CUDA model
* Data layout transformations (structure of arrays to array of structures)
* Loop unrolling
* Loop tiling with efficient handling of boundary cases
* Prefetching/copy optimizations
* Instruction level parallelism
* and many more!
Loopy targets array-type computations, such as the following:
* dense linear algebra,
* convolutions,
* n-body interactions,
* PDE solvers, such as finite element, finite difference, and
Fast-Multipole-type computations.
It is not (and does not want to be) a general-purpose programming language.
Loopy is licensed under the liberal `MIT license
`__ and free for commercial, academic,
and private use. All of Loopy's dependencies can be automatically installed from
the package index after using::
pip install loopy
In addition, Loopy is compatible with and enhances
`pyopencl `__.
---
Places on the web related to Loopy:
* `Python Package Index `__ (download releases)
* `Documentation `__ (read how things work)
* `Github `__ (get latest source code, file bugs)
* `Homepage `__
* `Benchmarks `__
Owner
- Name: Andreas Klöckner
- Login: inducer
- Kind: user
- Location: Champaign, IL
- Company: Scientific Computing, CS@UIUC
- Website: http://andreask.cs.illinois.edu/aboutme
- Repositories: 225
- Profile: https://github.com/inducer
GitHub Events
Total
- Create event: 39
- Release event: 2
- Issues event: 20
- Watch event: 33
- Delete event: 37
- Issue comment event: 87
- Push event: 250
- Pull request event: 111
- Pull request review event: 88
- Pull request review comment event: 116
- Fork event: 5
Last Year
- Create event: 39
- Release event: 2
- Issues event: 20
- Watch event: 33
- Delete event: 37
- Issue comment event: 87
- Push event: 250
- Pull request event: 111
- Pull request review event: 88
- Pull request review comment event: 116
- Fork event: 5
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Andreas Kloeckner | i****m@t****t | 2,822 |
| Kaushik Kulkarni | k****d@g****m | 1,205 |
| Matt Wala | w****1@i****u | 310 |
| jdsteve2 | j****2@i****u | 259 |
| Isuru Fernando | i****2@i****u | 150 |
| arghdos | a****s@g****m | 131 |
| Dominic Kempf | d****f@i****e | 92 |
| tj-sun | t****0@g****m | 77 |
| Nick | n****s@u****u | 68 |
| James Stevens | j****2@p****u | 67 |
| Tim Warburton | t****r@c****u | 58 |
| Matthias Diener | m****r@i****u | 42 |
| Alexandru Fikl | a****l@g****m | 36 |
| Nicholas Christensen | n****2@i****u | 27 |
| Lawrence Mitchell | l****e@w****k | 20 |
| Connor Ward | c****0@i****k | 8 |
| Machine Owner | o****r@d****n | 8 |
| zachjweiner | z****r@g****m | 7 |
| Thomas Gibson | g****0@h****m | 6 |
| Sophia Vorderwuelbecke | s****8@i****k | 6 |
| Timothy A. Smith | t****4@i****u | 6 |
| Lucas C Wilcox | l****s@s****m | 5 |
| Marcel Koch | m****h@u****e | 3 |
| xywei | w****6@g****m | 3 |
| Addison J. Alvey-Blanco | a****o@g****m | 3 |
| Nick | k****2@i****u | 2 |
| Sebastian Hegmann | s****n@n****e | 2 |
| Chris Malone | c****e@g****m | 1 |
| Tim Warburton | t****r@s****) | 1 |
| Tim Warburton | t****r@b****) | 1 |
| and 7 more... | ||
Committer Domains (Top 20 + Academic)
illinois.edu: 9
tiker.net: 1
iwr.uni-heidelberg.de: 1
uconn.edu: 1
porter.cs.illinois.edu: 1
caam.rice.edu: 1
wence.uk: 1
imperial.ac.uk: 1
debian.lan: 1
ic.ac.uk: 1
swirlee.com: 1
uni-muenster.de: 1
nina.iwr.uni-heidelberg.de: 1
slate.(none): 1
box.(none): 1
tianjiaos-air.home: 1
univ-amu.fr: 1
baylor.edu: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 66
- Total pull requests: 300
- Average time to close issues: about 2 months
- Average time to close pull requests: about 2 months
- Total issue authors: 16
- Total pull request authors: 17
- Average comments per issue: 1.52
- Average comments per pull request: 1.1
- Merged pull requests: 238
- Bot issues: 0
- Bot pull requests: 3
Past Year
- Issues: 19
- Pull requests: 117
- Average time to close issues: 2 days
- Average time to close pull requests: 2 days
- Issue authors: 5
- Pull request authors: 11
- Average comments per issue: 0.68
- Average comments per pull request: 0.85
- Merged pull requests: 89
- Bot issues: 0
- Bot pull requests: 3
Top Authors
Issue Authors
- inducer (20)
- kaushikcfd (13)
- isuruf (8)
- connorjward (6)
- matthiasdiener (4)
- nkoskelo (3)
- nchristensen (2)
- dm-maxar (2)
- dham (1)
- miguelcoolchips (1)
- nicknytko (1)
- JHopeCollins (1)
- wence- (1)
- certik (1)
- majosm (1)
Pull Request Authors
- inducer (124)
- matthiasdiener (47)
- kaushikcfd (47)
- isuruf (24)
- alexfikl (18)
- connorjward (10)
- nkoskelo (7)
- a-alveyblanc (6)
- nchristensen (5)
- dependabot[bot] (3)
- emmanuel-ferdman (2)
- sv2518 (2)
- thilinarmtb (1)
- majosm (1)
- nicknytko (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (3)
github_actions (3)
Packages
- Total packages: 2
-
Total downloads:
- pypi 3,066 last-month
- Total docker downloads: 18
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 21
(may contain duplicates) - Total versions: 9
- Total maintainers: 1
pypi.org: loopy
A code generator for array-based code on CPUs and GPUs
- Homepage: https://github.com/inducer/loopy
- Documentation: https://documen.tician.de/loopy
- License: mit
-
Latest release: 2020.2.1
published over 5 years ago
Rankings
Dependent repos count: 3.2%
Docker downloads count: 4.6%
Average: 8.7%
Dependent packages count: 10.0%
Downloads: 17.0%
Maintainers (1)
Last synced:
6 months ago
conda-forge.org: loopy
Loopy lets you easily generate the tedious, complicated code that is necessary to get good performance out of GPUs and multi-core CPUs. Loopy's core idea is that a computation should be described simply and then transformed into a version that gets high performance. This transformation takes place under user control, from within Python.
- Homepage: http://mathema.tician.de/software/loopy
- License: MIT
-
Latest release: 2020.2.1
published over 4 years ago
Rankings
Stargazers count: 16.2%
Forks count: 21.1%
Average: 30.6%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced:
6 months ago
Dependencies
.github/workflows/autopush.yml
actions
- actions/checkout v3 composite
.github/workflows/ci.yml
actions
- actions/checkout v3 composite
- actions/setup-python v4 composite
requirements.txt
pypi
- cgen *
- codepy *
- fparser *
- genpy *
- islpy *
- ply >=3.6
- pymbolic *
- pyopencl *
- pytools *
- scipy *
setup.py
pypi
- Mako *
- cgen >=2016.1
- codepy >=2017.1
- colorama *
- genpy >=2016.1.2
- https *
- immutables *
- islpy >=2019.1
- numpy >=1.19
- pymbolic >=2022.1
- pyrsistent *
- pytools >=2022.1.7