{"id":17968591,"url":"https://github.com/inducer/loopy","last_synced_at":"2025-05-14T15:04:53.263Z","repository":{"id":17494030,"uuid":"20281732","full_name":"inducer/loopy","owner":"inducer","description":"A code generator for array-based code on CPUs and GPUs","archived":false,"fork":false,"pushed_at":"2025-05-07T14:18:51.000Z","size":12907,"stargazers_count":602,"open_issues_count":175,"forks_count":74,"subscribers_count":23,"default_branch":"main","last_synced_at":"2025-05-07T15:30:27.161Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"http://mathema.tician.de/software/loopy","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inducer.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-05-29T04:03:35.000Z","updated_at":"2025-05-07T14:18:55.000Z","dependencies_parsed_at":"2023-02-19T04:01:08.992Z","dependency_job_id":"fd3acad8-b899-42e6-b393-8a63b37f3c27","html_url":"https://github.com/inducer/loopy","commit_stats":{"total_commits":5385,"total_committers":37,"mean_commits":"145.54054054054055","dds":0.4817084493964717,"last_synced_commit":"72ecd63d79563f1c1f8166bd6f86a8d8efca0609"},"previous_names":[],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inducer%2Floopy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inducer%2Floopy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inducer%2Floopy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inducer%2Floopy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inducer","download_url":"https://codeload.github.com/inducer/loopy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254168716,"owners_count":22026206,"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":["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_at":"2024-10-29T14:40:53.829Z","updated_at":"2025-05-14T15:04:53.201Z","avatar_url":"https://github.com/inducer.png","language":"Python","readme":"Loopy: Transformation-Based Generation of High-Performance CPU/GPU Code\n=======================================================================\n\n.. image:: https://gitlab.tiker.net/inducer/loopy/badges/main/pipeline.svg\n    :alt: Gitlab Build Status\n    :target: https://gitlab.tiker.net/inducer/loopy/commits/main\n.. image:: https://github.com/inducer/loopy/actions/workflows/ci.yml/badge.svg\n    :alt: Github Build Status\n    :target: https://github.com/inducer/loopy/actions/workflows/ci.yml\n.. image:: https://badge.fury.io/py/loopy.svg\n    :alt: Python Package Index Release Page\n    :target: https://pypi.org/project/loopy/\n.. image:: https://zenodo.org/badge/20281732.svg\n    :alt: Zenodo DOI for latest release\n    :target: https://zenodo.org/doi/10.5281/zenodo.10672274\n\nLoopy lets you easily generate the tedious, complicated code that is necessary\nto get good performance out of GPUs and multi-core CPUs.\nLoopy's core idea is that a computation should be described simply and then\n*transformed* into a version that gets high performance. This transformation\ntakes place under user control, from within Python.\n\nIt can capture the following types of optimizations:\n\n* Vector and multi-core parallelism in the OpenCL/CUDA model\n* Data layout transformations (structure of arrays to array of structures)\n* Loop unrolling\n* Loop tiling with efficient handling of boundary cases\n* Prefetching/copy optimizations\n* Instruction level parallelism\n* and many more!\n\nLoopy targets array-type computations, such as the following:\n\n* dense linear algebra,\n* convolutions,\n* n-body interactions,\n* PDE solvers, such as finite element, finite difference, and\n  Fast-Multipole-type computations.\n\nIt is not (and does not want to be) a general-purpose programming language.\n\nLoopy is licensed under the liberal `MIT license\n\u003chttps://en.wikipedia.org/wiki/MIT_License\u003e`__ and free for commercial, academic,\nand private use. All of Loopy's dependencies can be automatically installed from\nthe package index after using::\n\n    pip install loopy\n\nIn addition, Loopy is compatible with and enhances\n`pyopencl \u003chttps://mathema.tician.de/software/pyopencl\u003e`__.\n\n---\n\nPlaces on the web related to Loopy:\n\n* `Python Package Index \u003chttps://pypi.org/project/loopy\u003e`__ (download releases)\n* `Documentation \u003chttps://documen.tician.de/loopy\u003e`__ (read how things work)\n* `Github \u003chttps://github.com/inducer/loopy\u003e`__ (get latest source code, file bugs)\n* `Homepage \u003chttps://mathema.tician.de/software/loopy\u003e`__\n* `Benchmarks \u003chttps://documen.tician.de/loopy/benchmarks\u003e`__\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finducer%2Floopy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finducer%2Floopy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finducer%2Floopy/lists"}