https://github.com/stfc/psyclone
PSyclone is a source-to-source Fortran compiler designed to programmatically optimise, parallelise and instrument HPC applications via user-provided transformation scripts.
Science Score: 67.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 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
10 of 39 committers (25.6%) from academic institutions -
✓Institutional organization owner
Organization stfc has institutional domain (www.scd.stfc.ac.uk) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.2%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
PSyclone is a source-to-source Fortran compiler designed to programmatically optimise, parallelise and instrument HPC applications via user-provided transformation scripts.
Basic Info
Statistics
- Stars: 120
- Watchers: 10
- Forks: 31
- Open Issues: 723
- Releases: 7
Topics
Metadata Files
README.md
PSyclone is a source-to-source Fortran compiler designed to programmatically optimise, parallelise and instrument HPC applications via user-provided transformation scripts. By encapsulating the performance-portability aspects (e.g. whether to parallelise with OpenMP or OpenACC), these scripts enable a separation of concerns between the scientific implementation and the optimisation choices. This allows each aspect to be explored and developed largely independently. Additionally, PSyclone supports the development of kernel-based Fortran-embedded DSLs following the PSyKAl model developed in the GungHo project.
PSyclone is currently used to support the LFRic mixed finite-element PSyKAl DSL for the UK MetOffice's next generation modelling system and the GOcean finite-difference PSyKAl DSL for a prototype 2D ocean modelling system. It is also used to insert GPU offloading directives into existing directly-addressed MPI applications such as the NEMO ocean model.
For more detailed information see the PSyclone Documentation.
Installation
You can install the latest release of psyclone from PyPI by using:
$ pip install psyclone
or, if you want an isolated installation in a python virtual environment:
$ python -m venv <virtual_env_name>
$ source <virtual_env_name>/bin/activate
$ pip install psyclone
Alternatively, you can install the latest upstream version of psyclone by cloning this repository and using:
$ pip install .
or in developer (editable) mode using
$ pip install -e .
PSyclone is also available in the Conda and Spack package managers.
For more information about the installation process see the Getting Going. section of the User Guide.
Structure
Path | Description ------------------- | ----------- bin/ | Top-level driver scripts for PSyclone and the PSyclone kernel tool changelog | Information on changes between releases doc/ | Documentation source using Sphinx examples/ | Simple examples README.md | This file src/psyclone | The Python source code src/psyclone/tests/ | Unit and functional tests using pytest tutorial/practicals | Hands-on exercises using a local installation of PSyclone
Owner
- Name: UKRI Science and Technology Facilities Council
- Login: stfc
- Kind: organization
- Location: UK
- Website: https://www.scd.stfc.ac.uk
- Repositories: 78
- Profile: https://github.com/stfc
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Andrew Porter | a****r@s****k | 4,841 |
| rupertford | r****d@s****k | 2,410 |
| Joerg Henrichs | h****g@g****m | 2,399 |
| Sergi Sisó | s****g@g****m | 1,659 |
| TeranIvy | T****y | 1,493 |
| andrewporter | a****r@4****1 | 576 |
| Aidan Chalk | 3****4 | 400 |
| rupertford | r****d@4****1 | 263 |
| Sergi Siso | s****o@s****k | 155 |
| Nuno Miguel Nobre | n****e@s****k | 152 |
| Lottie Turner | c****r@m****k | 119 |
| oakley.brunt | o****t@v****k | 81 |
| Nuno Miguel Nobre | n****e@s****k | 47 |
| Joe Wallwork | j****k@m****k | 44 |
| Aidan Chalk | a****k@s****k | 27 |
| andrewcoughtrie | 2****e | 26 |
| Christopher Maynard | c****d@r****k | 25 |
| Andy Porter | a****r | 17 |
| AdamVoysey | 4****y | 17 |
| christophermaynard | c****d@m****k | 13 |
| pelson | p****b@g****m | 9 |
| andrewcoughtrie | a****e@m****k | 8 |
| Drew Silcock | d****k@s****k | 6 |
| matthewhambley | m****y@4****1 | 5 |
| Joerg Henrichs | j****g@l****e | 4 |
| Dennis Sergeev | d****v@g****m | 4 |
| Scott Wales | s****s@u****u | 3 |
| Scott Wales | s****s@o****u | 3 |
| Fock, Bjoern | b****k@m****k | 2 |
| Joerg Henrichs | j****s@b****u | 2 |
| and 9 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 633
- Total pull requests: 510
- Average time to close issues: 12 months
- Average time to close pull requests: about 1 month
- Total issue authors: 40
- Total pull request authors: 24
- Average comments per issue: 2.51
- Average comments per pull request: 4.97
- Merged pull requests: 324
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 182
- Pull requests: 184
- Average time to close issues: 26 days
- Average time to close pull requests: 15 days
- Issue authors: 25
- Pull request authors: 18
- Average comments per issue: 0.93
- Average comments per pull request: 3.49
- Merged pull requests: 96
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- arporter (161)
- hiker (121)
- sergisiso (101)
- LonelyCat124 (65)
- rupertford (52)
- oakleybrunt (20)
- TeranIvy (17)
- DrTVockerodtMO (15)
- jwallwork23 (13)
- mo-joshuacolclough (9)
- hbrunie (8)
- schreiberx (6)
- JulienRemy (5)
- nmnobre (5)
- mo-lottieturner (5)
Pull Request Authors
- arporter (116)
- sergisiso (86)
- hiker (67)
- LonelyCat124 (60)
- oakleybrunt (34)
- rupertford (33)
- nmnobre (21)
- schreiberx (14)
- JulienRemy (13)
- TeranIvy (13)
- jwallwork23 (12)
- mo-lottieturner (9)
- mo-alistairp (6)
- DrTVockerodtMO (5)
- victoria-atkinson (4)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 164 last-month
-
Total dependent packages: 1
(may contain duplicates) -
Total dependent repositories: 1
(may contain duplicates) - Total versions: 20
- Total maintainers: 3
pypi.org: psyclone
PSyclone - a compiler for Finite Element/Volume/Difference DSLs in Fortran
- Homepage: https://github.com/stfc/psyclone
- Documentation: https://psyclone.readthedocs.io/
- License: OSI Approved :: BSD 3-Clause License
-
Latest release: 3.1.0
published 12 months ago
Rankings
Maintainers (2)
spack.io: py-psyclone
A source-to-source Fortran compiler designed to programmatically optimise, parallelise and instrument HPC applications (written in Fortran) via user- provided transformation scripts. Additionally, PSyclone supports the development of kernel-based, Fortran-embedded DSLs and is used in the UK Met Office's next-generation modelling system, LFRic.
- Homepage: https://github.com/stfc/PSyclone
- License: []
-
Latest release: 1.5.1
published almost 4 years ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- mstachniuk/ci-skip v1 composite
- actions/checkout v3 composite
- mstachniuk/ci-skip v1 composite
- actions/checkout v3 composite
- mstachniuk/ci-skip v1 composite
- actions/checkout master composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- codecov/codecov-action v3 composite
- gaurav-nelson/github-action-markdown-link-check v1 composite
- mstachniuk/ci-skip v1 composite
- actions/checkout master composite
- ad-m/github-push-action master composite
- sphinx <7 development
- sphinx_rtd_theme * development
- sphinxcontrib.bibtex * development
- sphinx *
- sphinxcontrib.bibtex *
- autoapi *
- sphinx <7
- sphinx_rtd_theme *
- sphinxcontrib.bibtex *
- sphinx <7
- sphinx_rtd_theme *
- sphinxcontrib.bibtex *
- graphviz *
- termcolor *
- configparser *
- fparser ==0.1.3
- jsonschema ==3.0.2
- pyparsing *
- sympy *