neko

/ᐠ. 。.ᐟ\ᵐᵉᵒʷˎˊ˗

https://github.com/extremeflow/neko

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 9 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    12 of 29 committers (41.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.6%) to scientific vocabulary

Keywords

cfd fortran hpc

Keywords from Contributors

build-tools hpsf radiuss spack
Last synced: 6 months ago · JSON representation

Repository

/ᐠ. 。.ᐟ\ᵐᵉᵒʷˎˊ˗

Basic Info
  • Host: GitHub
  • Owner: ExtremeFLOW
  • License: other
  • Language: Fortran
  • Default Branch: develop
  • Homepage: https://neko.cfd/
  • Size: 1.18 GB
Statistics
  • Stars: 199
  • Watchers: 9
  • Forks: 39
  • Open Issues: 100
  • Releases: 28
Topics
cfd fortran hpc
Created about 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation Authors

README.md

Neko

DOI GNU Intel Nvidia

About

Neko is a portable framework for high-order spectral element flow simulations. Written in modern Fortran, Neko adopts an object-oriented approach, allowing multi-tier abstractions of the solver stack and facilitating various hardware backends ranging from general-purpose processors, CUDA and HIP enabled accelerators to SX-Aurora vector processors. Neko has its roots in the spectral element code Nek5000 from UChicago/ANL, from where many of the namings, code structure and numerical methods are adopted.

Cloning the project

bash git clone https://github.com/ExtremeFLOW/neko

Documentation

Documentation for Neko is available at neko.cfd and most things related to the code, cases, and different features are described there. The current (nightly) documentation is here. The documentation is always improving, in large part due to our active users and if something is missing or hard to understand, don't be afraid to start a discussion or create a Pull request. It is a great way to help us improve and also to start getting involved in the project.

Building the project

To build the project you will need: A Fortran compiler supporting the Fortran-08 standard, a working MPI installation, JSON-Fortran, and BLAS/lapack. Optional dependencies are gslib and ParMETIS. We use autotools to build the project. These instructions should work in general, but as the project is quickly developing, things might change. While we assume MPI and BLAS are installed, if JSON-Fortran is not already available it can be cloned, installed, and the correct paths set with the following commands (Skip this step if you already have an installation of JSON-Fortran).

bash export JSON_INSTALL=/path/to/json-fortran_install # Where you want to install json-fortran ```bash git clone --depth 1 https://github.com/ExtremeFLOW/json-fortran/ cmake -S json-fortran -B json-fortran/build -DCMAKEINSTALLPREFIX=${JSONINSTALL} -DUSEGNUINSTALLCONVENTION=ON -DSKIPDOCGEN=ON -Wno-dev cmake --build json-fortran/build --parallel cmake --install json-fortran/build export LDLIBRARYPATH=${LDLIBRARYPATH}:${JSONINSTALL}/lib/ #On some systems lib should be replaced with lib64 export PKGCONFIGPATH=${PKGCONFIGPATH}:${JSONINSTALL}/lib/pkgconfig

```

A basic CPU version of Neko can then be installed according to the following bash cd neko ./regen.sh ./configure --prefix=/path/to/neko_install # Where you want to install neko make install More detailed installation instructions and all the different options (such as how to install Neko for GPUs) can be found in the documentation available at https://neko.cfd.

Running examples

After the project has been built

bash cd examples/tgv /path/to/neko_install/bin/makeneko tgv.f90 mpirun -np 4 ./neko tgv.case If there is not a .f90 (user) file in the example, the standard executable neko can also be used, for example: bash cd examples/hemi mpirun -np 4 /path/to/neko_install/bin/neko hemi.case only uses built-in functions and does not need a compiled user file. Whether you will need a user file or not depends on what functionality you want and this is also documented in the documentation.

Preferred citation for Neko

When using Neko in a scientific publication, please add a citation to the following publication (see also CITATION.cff): * Jansson, N., Karp, M., Podobas, A., Markidis, S. and Schlatter, P., 2024. Neko: A modern, portable, and scalable framework for high-fidelity computational fluid dynamics. Computer & Fluids, 275. https://doi.org/10.1016/j.compfluid.2024.106243

Publications using Neko

Computer science

  • Jansson, N., 2021. Spectral Element Simulations on the NEC SX-Aurora TSUBASA. In proc. HPCAsia 2021.
  • Karp, M., Podobas, A., Kenter, T., Jansson, N., Plessl, C., Schlatter, P. and Markidis, S., 2022. A high-fidelity flow solver for unstructured meshes on field-programmable gate arrays: Design, evaluation, and future challenges. In proc. HPCAsia 2022.
  • Karp, M., Jansson, N., Podobas, A., Schlatter, P., and Markidis, S., 2022. Reducing Communication in the Conjugate Gradient Method: A Case Study on High-Order Finite Elements. In proc. PASC 2022.
  • Karp, M., Massaro, D., Jansson, N., Hart, A., Wahlgren, J., Schlatter, P., and Markidis, S., 2023. Large-Scale Direct Numerical Simulations of Turbulence Using GPUs and Modern Fortran. The International Journal of High Performance Computing Applications, 37, 5.
  • Jansson, N., Karp, M., Perez, A., Mukha, T., Ju, Y., Liu, J., Pll, S., Laure, E., Weinkauf, T., Schumacher, J., Schlatter, P., Markidis, S., 2023. Exploring the Ultimate Regime of Turbulent RayleighBnard Convection Through Unprecedented Spectral-Element Simulations. SC '23: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis.
  • Jansson, N., Karp, M., Podobas, A., Markidis, S. and Schlatter, P., 2024. Neko: A modern, portable, and scalable framework for high-fidelity computational fluid dynamics. Computer & Fluids, 275.

Flow physics

  • Massaro, D., Karp, M., Jansson, N., Markidis, S., Schlatter, P., 2024. "Direct numerical simulation of the turbulent flow around a Flettner rotor". Nature Scientific Reports 14, 3004. https://doi.org/10.1038/s41598-024-53194-x

Acknowledgments

The development of Neko was supported by the European Commission Horizon 2020 project grant EPiGRAM-HS: Exascale Programming Models for Heterogeneous Systems (grant reference 801039), the European High Performance Computing Joint Unertaking (JU) and Sweden, Germany, Spain, Greece and Denmark under grant "CEEC - Centre of Excellence for Exascale CFD" (grant agreement No 101093393), the Swedish Research Council project grant Efficient Algorithms for Exascale Computational Fluid Dynamics (grant reference 2019-04723) and the SeRC Exascale Simulation Software Initiative (SESSI). The Neko logo was designed by Robert Hansen Jagrelius.

Sponsored by Zulip, an open-source modern team chat app designed to keep both live and asynchronous conversations organized.

Owner

  • Name: ExtremeFLOW
  • Login: ExtremeFLOW
  • Kind: organization

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 3,967
  • Total Committers: 29
  • Avg Commits per committer: 136.793
  • Development Distribution Score (DDS): 0.431
Past Year
  • Commits: 1,398
  • Committers: 19
  • Avg Commits per committer: 73.579
  • Development Distribution Score (DDS): 0.697
Top Committers
Name Email Commits
Niclas Jansson n****n@k****e 2,257
Martin Karp m****p@o****m 419
Timofey Mukha t****a@p****m 415
Martin Karp m****p@g****m 175
Victor Baconnet b****t@k****e 174
Niclas Jansson l****n@r****p 108
Tim Felle Olsen t****e@d****k 55
Victor Baconnet v****6@g****m 55
Adalberto Perez a****4@g****m 45
Jacob Wahlgren j****h@k****e 43
Jonathan Vincent j****n@k****e 31
MartinKarp m****p@o****m 31
Timofey Mukha t****a 29
Timofey Mukha t****a@i****e 24
Martin Karp 3****p 23
adperezm 6****m 23
Shiyu Du 1****u 18
Philipp Schlatter p****t@m****e 12
steven w****n@k****e 9
Adam Peplinski a****m@m****e 6
Victor Baconnet b****t@m****e 5
Martin Karp k****1@j****s 2
Szilárd Páll p****d@g****m 2
Andrey Alekseenko a****d@g****m 1
Jonathan Vincent j****n@n****e 1
Martin Karp k****1@d****p 1
Niclas Jansson n****n@c****e 1
Steven Chien s****n 1
Timofey Mukha m****t@K****l 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 164
  • Total pull requests: 687
  • Average time to close issues: 3 months
  • Average time to close pull requests: 9 days
  • Total issue authors: 25
  • Total pull request authors: 24
  • Average comments per issue: 1.7
  • Average comments per pull request: 1.15
  • Merged pull requests: 542
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 59
  • Pull requests: 292
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 8 days
  • Issue authors: 14
  • Pull request authors: 18
  • Average comments per issue: 1.32
  • Average comments per pull request: 1.01
  • Merged pull requests: 207
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • njansson (66)
  • timofeymukha (41)
  • timfelle (35)
  • MartinKarp (11)
  • Mr-2c (11)
  • BeiNing-Z (7)
  • vbaconnet (6)
  • SachinBM-CE (3)
  • Bkv-1915 (2)
  • ztdepztdep (2)
  • muenschm (2)
  • Shiyu-Sandy-Du (2)
  • JudithYi (1)
  • yuxuan-z19 (1)
  • bugByteMe (1)
Pull Request Authors
  • njansson (339)
  • timofeymukha (184)
  • timfelle (138)
  • Shiyu-Sandy-Du (90)
  • MartinKarp (87)
  • vbaconnet (45)
  • adperezm (19)
  • tuananhdao (16)
  • pohm01 (10)
  • pschlatt1 (10)
  • gloopydoop (8)
  • Kamyarmvn (6)
  • Mr-2c (4)
  • jonvin73 (3)
  • muenschm (3)
Top Labels
Issue Labels
bug (53) enhancement (32) GPU (22) documentation (12) NVIDIA (10) AMD (10) compilers (10) OpenCL (7) NAG (2) Fujitsu (2) case (2) Cray (2) CI (2) question (1) compressible (1) API (1) performance (1) help wanted (1) SX (1)
Pull Request Labels
enhancement (229) bug (209) GPU (115) NVIDIA (71) documentation (63) OpenCL (58) AMD (56) CI (54) compilers (53) refactor (43) performance (30) don't merge (25) Cray (16) case (13) NAG (10) SX (7) OpenMP (6) Fujitsu (6) new case (5) help wanted (2) API (2) compressible (2)

Dependencies

.github/workflows/lint.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v2 composite
.github/workflows/main.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/develop.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/documentation.yml actions
  • actions/checkout v2 composite
  • peaceiris/actions-gh-pages v3 composite
.github/workflows/formatter.yml actions
  • actions/checkout v3 composite
.github/workflows/citation.yml actions
  • actions/checkout v3 composite
  • dieghernan/cff-validator v3 composite
.github/workflows/docsdev.yml actions
  • actions/checkout v2 composite
  • peaceiris/actions-gh-pages v3 composite