{"id":13474302,"url":"https://github.com/ComputationalRadiationPhysics/picongpu","last_synced_at":"2025-03-26T21:31:25.016Z","repository":{"id":37431424,"uuid":"11764461","full_name":"ComputationalRadiationPhysics/picongpu","owner":"ComputationalRadiationPhysics","description":"Performance-Portable Particle-in-Cell Simulations for the Exascale Era :sparkles:","archived":false,"fork":false,"pushed_at":"2025-03-26T07:10:26.000Z","size":61278,"stargazers_count":723,"open_issues_count":419,"forks_count":217,"subscribers_count":49,"default_branch":"dev","last_synced_at":"2025-03-26T08:23:40.292Z","etag":null,"topics":["gpu","gpu-computing","laser","particle-accelerator","particle-in-cell","physics","physics-simulation","pic","plasma","research"],"latest_commit_sha":null,"homepage":"https://picongpu.readthedocs.io","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ComputationalRadiationPhysics.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-07-30T12:28:20.000Z","updated_at":"2025-03-26T07:10:30.000Z","dependencies_parsed_at":"2023-12-21T15:18:34.504Z","dependency_job_id":"3943ad08-52ed-49df-92f6-011e2a10e545","html_url":"https://github.com/ComputationalRadiationPhysics/picongpu","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComputationalRadiationPhysics%2Fpicongpu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComputationalRadiationPhysics%2Fpicongpu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComputationalRadiationPhysics%2Fpicongpu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComputationalRadiationPhysics%2Fpicongpu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ComputationalRadiationPhysics","download_url":"https://codeload.github.com/ComputationalRadiationPhysics/picongpu/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245738613,"owners_count":20664317,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gpu","gpu-computing","laser","particle-accelerator","particle-in-cell","physics","physics-simulation","pic","plasma","research"],"created_at":"2024-07-31T16:01:11.237Z","updated_at":"2025-03-26T21:31:24.990Z","avatar_url":"https://github.com/ComputationalRadiationPhysics.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"PIConGPU - Particle-in-Cell Simulations for the Exascale Era\n============================================================\n\n[![Code Status dev](https://gitlab.com/hzdr/crp/picongpu/badges/dev/pipeline.svg?key_text=dev)](https://gitlab.com/hzdr/crp/picongpu/pipelines/dev/latest)\n[![Documentation Status](https://readthedocs.org/projects/picongpu/badge/?version=latest)](http://picongpu.readthedocs.io)\n[![Doxygen](https://img.shields.io/badge/API-Doxygen-blue.svg)](http://computationalradiationphysics.github.io/picongpu)\n[![Language](https://img.shields.io/badge/language-C%2B%2B20-orange.svg)](https://isocpp.org/)\n[![License PIConGPU](https://img.shields.io/badge/license-GPLv3-blue.svg?label=PIConGPU)](https://www.gnu.org/licenses/gpl-3.0.html)\n[![License PMacc](https://img.shields.io/badge/license-LGPLv3-blue.svg?label=PMacc)](https://www.gnu.org/licenses/lgpl-3.0.html)\n\n[![PIConGPU Presentation Video](http://img.youtube.com/vi/nwZuG-XtUDE/0.jpg)](http://www.youtube.com/watch?v=nwZuG-XtUDE)\n[![PIConGPU Release](docs/logo/pic_logo_vert_158x360.png)](http://www.youtube.com/watch?v=nwZuG-XtUDE)\n\nIntroduction\n------------\n\nPIConGPU is a fully relativistic,\n[manycore](https://en.wikipedia.org/wiki/Manycore_processor),\n3D3V particle-in-cell ([PIC](http://en.wikipedia.org/wiki/Particle-in-cell))\ncode. The Particle-in-Cell algorithm is a central tool in plasma physics.\nIt describes the dynamics of a plasma by computing the motion of\nelectrons and ions in the plasma based on\n[Maxwell's equations](http://en.wikipedia.org/wiki/Maxwell%27s_equations).\n\nPIConGPU implements various numerical schemes to solve the PIC cycle.\nIts features for the electro-magnetic PIC algorithm include:\n- a central or Yee-lattice for fields\n- particle pushers that solve the equation of motion for charged and neutral\n  particles, e.g., the *Boris-* and the\n  [*Vay-Pusher*](http://dx.doi.org/10.1063/1.2837054)\n- Maxwell field solvers, e.g.\n  [*Yee's*](http://dx.doi.org/10.1109/TAP.1966.1138693) and\n  [*Lehe's*](http://dx.doi.org/10.1103/PhysRevSTAB.16.021301) scheme\n- rigorously charge conserving current deposition schemes, such as\n  [*Esirkepov*](http://dx.doi.org/10.1016/S0010-4655%2800%2900228-9)\n  and *EZ* (Esirkepov meets ZigZag)\n- macro-particle form factors ranging from NGP (0th order), CIC (1st),\n  TSC (2nd), PQS (3rd) to PCS (4th)\n\nand the electro-magnetic PIC algorithm is further self-consistently coupled to:\n- classical radiation reaction\n  ([DOI:10.1016/j.cpc.2016.04.002](http://dx.doi.org/10.1016/j.cpc.2016.04.002))\n- advanced field ionization methods\n  ([DOI:10.1103/PhysRevA.59.569](http://dx.doi.org/10.1103/PhysRevA.59.569),\n   [LV Keldysh](http://www.jetp.ac.ru/cgi-bin/dn/e_020_05_1307.pdf), BSI)\n\nBesides the electro-magnetic PIC algorithm and extensions to it, we developed\na wide range of tools and diagnostics, e.g.:\n- online, far-field radiation diagnostics for coherent and incoherent radiation\n  emitted by charged particles\n- full restart and output capabilities via [openPMD](http://openPMD.org),\n  including [parallel HDF5](http://hdfgroup.org/)\n- 2D and 3D live view and diagnostics tools\n- a large selection of extensible\n  [online-plugins](http://picongpu.readthedocs.io/en/latest/usage/plugins.html)\n\nAs one of our supported compute platforms, GPUs provide a computational\nperformance of several\n[TFLOP/s](http://en.wikipedia.org/wiki/FLOPS) at considerable lower invest and\nmaintenance costs compared to multi CPU-based compute architectures of similar\nperformance. The latest high-performance systems\n([TOP500](http://www.top500.org/)) are enhanced by accelerator hardware that\nboost their peak performance up to the multi-PFLOP/s level. With its\noutstanding performance and scalability to more than 18'000 GPUs,\nPIConGPU was one of the **finalists** of the 2013\n[Gordon Bell Prize](http://sc13.supercomputing.org/content/acm-gordon-bell-prize).\n\nPIConGPU is developed and maintained by the\n[Computational Radiation Physics Group](https://www.hzdr.de/db/Cms?pNid=2097)\nat the [Institute for Radiation Physics](http://www.hzdr.de/db/Cms?pNid=132)\nat [HZDR](http://www.hzdr.de/) in close collaboration with the Center\nfor Information Services and High Performance Computing\n([ZIH](http://tu-dresden.de/die_tu_dresden/zentrale_einrichtungen/zih)) of the\nTechnical University Dresden ([TUD](http://www.tu-dresden.de)). We are a\nmember of the [Dresden GPU Center of Excellence](http://ccoe-dresden.de/) that\ncooperates on a broad range of scientific GPU and manycore applications,\nworkshops and teaching efforts.\n\nAttribution\n-----------\n\nPIConGPU is a *scientific project*. If you **present and/or publish** scientific\nresults that used PIConGPU, you should set a **reference** to show your support.\n\nOur according **up-to-date publication** at **the time of your publication**\nshould be inquired from:\n- [REFERENCE.md](https://raw.githubusercontent.com/ComputationalRadiationPhysics/picongpu/master/REFERENCE.md)\n\nPlease also consider adding yourself to our [community map](https://github.com/ComputationalRadiationPhysics/picongpu-communitymap).\nWe would love to hear from you!\n\nOral Presentations\n------------------\n\nThe following slide should be part of **oral presentations**. It is intended to\nacknowledge the team maintaining PIConGPU and to support our community:\n\n(*coming soon*) presentation_picongpu.pdf\n(svg version, key note version, png version: 1920x1080 and 1024x768)\n\nSoftware License\n----------------\n\n*PIConGPU* is licensed under the **GPLv3+**. Furthermore, you can develop your\nown particle-mesh algorithms based on our general library *PMacc* that is\nshipped alongside PIConGPU. *PMacc* is *dual licensed* under both the\n**GPLv3+ and LGPLv3+**.\nFor a detailed description, please refer to [LICENSE.md](LICENSE.md)\n\n********************************************************************************\n\nInstall\n-------\n\nSee our notes in [INSTALL.rst](INSTALL.rst).\n\nUsers\n-----\n\nDear User, we hereby emphasize that we are still actively developing PIConGPU at great\nspeed and do, from time to time, break backwards compatibility.\n\nWhen using this software, please stick to the latest release or use the `dev` branch containing the\nlatest changes. It also contains a file `CHANGELOG.md` with the\nlatest changes (and how to update your simulations). Read it first before\nupdating between two versions! Also, we add a git `tag` according to a version\nnumber for each release.\n\nFor any questions regarding the usage of PIConGPU please **do not** contact the\ndevelopers and maintainers directly.\n\nInstead, please [open an issue on GitHub](https://github.com/ComputationalRadiationPhysics/picongpu/issues/new).\n\nBefore you post a question, browse the PIConGPU\n[documentation](https://github.com/ComputationalRadiationPhysics/picongpu/search?l=markdown),\n[wiki](https://github.com/ComputationalRadiationPhysics/picongpu/wiki) and the\n[issue tracker](https://github.com/ComputationalRadiationPhysics/picongpu/issues)\nto see if your question has been answered, already.\n\nPIConGPU is a collaborative project.\nWe thus encourage users to engage in answering questions of other users and post solutions to problems to the list.\nA problem you have encountered might be the future problem of another user.\n\nIn addition, please consider using the collaborative features of GitHub if you have questions or comments on code or documentation.\nThis will allow other users to see the piece of code or documentation you are referring to.\n\nMain ressources are in our [online manual](https://picongpu.readthedocs.io), the [user section](https://github.com/ComputationalRadiationPhysics/picongpu/wiki) of our wiki, documentation files in [`.md` (Markdown)](http://commonmark.org/help/) and [`.rst` (reStructuredText)](http://www.sphinx-doc.org/en/stable/rest.html) format in this repository and a [getting started video](http://www.youtube.com/watch?v=7ybsD8G4Rsk).\nFeel free to visit [picongpu.hzdr.de](http://picongpu.hzdr.de) to learn more about the PIC algorithm.\n\nSoftware Upgrades\n-----------------\n\nPIConGPU ships new and frequent changes to the code in the development branch `dev`.\n\nFrom time to time we publish a new release\nof PIConGPU. Before you pull the changes in, please read our\n[ChangeLog](CHANGELOG.md)!\nYou may have to update some of your simulation `.param` and `.cfg` files by\nhand since PIConGPU is an active project and new features often require changes\nin input files. Additionally, a full description of new features and fixed bugs\nin comparison to the previous release is provided in that file.\n\nIn case you decide to use *new, potentially buggy and experimental* features\nfrom our `dev` branch, be aware that you must participate or at least follow the development yourself. \nSyntax changes and in-development bugs will *not* be announced outside of their according pull\nrequests and issues.\n\nBefore drafting a new release, we open a new `release-*` branch from `dev` with\nthe `*` being the version number of the upcoming release. This branch only\nreceives bug fixes (feature freeze) and users are welcome to try it out\n(however, the change log and a detailed announcement might still be missing in\nit).\n\nDevelopers\n----------\n\n### How to participate\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md)\n\nIf you like to jump in right away, see  \n[![open \"good first issue\" issues](https://img.shields.io/github/issues-raw/ComputationalRadiationPhysics/picongpu/good%20first%20issue.svg?color=56cbef)](https://github.com/ComputationalRadiationPhysics/picongpu/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)\n\nActive Team\n-----------\n\n### Scientific Supervision\n\n- Dr. Michael Bussmann\n- Dr. Thomas Kluge\n- Dr. Richard Pausch\n- Dr. Klaus Steiniger\n\n### Maintainers* and core developers\n\n- Finn-Ole Carstens\n- Dr. Alexander Debus\n- Dr. Marco Garten*\n- Dr. Axel Huebl*\n- Dr. Jeffrey Kelling*\n- Dr. Julian Lenz* \n- Brian Edward Marre\n- Tapish Narwal*\n- Pawel Ordyna \n- Dr. Richard Pausch*\n- Franz Poeschel\n- Dr. Klaus Steiniger*\n- Rene Widera*\n\n### Former Members, Contributions and Thanks\n\nThe PIConGPU team expresses its gratitude to:\n\nDr. Sergei Bastrakov, Florian Berninger, Heiko Burau, Fabia Dietrich, Robert Dietrich, Carlchristian Eckert,\nSimeon Ehrig, Ph.D. Wen Fu, Alexander Grund, Sebastian Hahn, Anton Helm, Wolfgang Hoehnig,\nDr.-Ing. Guido Juckeland, Jeffrey Kelling, Maximilian Knespel, Dr. Remi Lehe,\nFelix Schmitt, Frank Winkler, Benjamin Schneider, Joseph Schuchart, Conrad Schumann,\nStefan Tietze, Ph.D. Marija Vranic, Benjamin Worpitz, Erik Zenker,\nSophie Rudat, Sebastian Starke, Alexander Matthes, Kseniia Bastrakova, \nBernhard Manfred Gruber, Jakob Trojok, Anton Lebedev, Nils Prinz,\nFelix Meyer, Lennert Sprenger, Manhui Wang, Maxence Thevenet, Ilja Goethel,\nMika Soren Voß, Lei Bifeng, Andrei Berceanu, Felix Meyer,\nLennert Sprenger and Nico Wrobel.\n\nKudos to everyone, mentioned or unmentioned, who contributed further in any\nway!\n\n********************************************************************************\n\n![image of an lwfa](docs/images/lwfa_iso.png \"LWFA\")\n![image of our strong scaling](docs/images/StrongScalingPIConGPU_log.png \"Strong Scaling\")\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FComputationalRadiationPhysics%2Fpicongpu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FComputationalRadiationPhysics%2Fpicongpu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FComputationalRadiationPhysics%2Fpicongpu/lists"}