{"id":19602090,"url":"https://github.com/zenustech/poc_zpc_jit","last_synced_at":"2026-05-15T09:36:27.419Z","repository":{"id":210693668,"uuid":"703573450","full_name":"zenustech/POC_zpc_jit","owner":"zenustech","description":"proof of concept for JIT routine built upon zpc","archived":false,"fork":false,"pushed_at":"2024-12-26T11:25:15.000Z","size":110,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-09T08:22:26.685Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zenustech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-10-11T13:49:45.000Z","updated_at":"2024-12-02T21:11:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"52cb910a-bdf7-455d-ac2b-72d839cbc820","html_url":"https://github.com/zenustech/POC_zpc_jit","commit_stats":null,"previous_names":["zenustech/poc_zpc_jit"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenustech%2FPOC_zpc_jit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenustech%2FPOC_zpc_jit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenustech%2FPOC_zpc_jit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zenustech%2FPOC_zpc_jit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zenustech","download_url":"https://codeload.github.com/zenustech/POC_zpc_jit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240884738,"owners_count":19873401,"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":[],"created_at":"2024-11-11T09:22:06.437Z","updated_at":"2026-05-15T09:36:27.370Z","avatar_url":"https://github.com/zenustech.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Proof-of-concept for ZPC JIT\n\n## Build\n\nThis build has been tested on windows 10/11 and ubuntu 20/22 with **llvm 15**, **cuda 11.6+** and **python 3.10**. Other configurations might also work just fine. If there are build issues encountered, your feedback is always appreciated.\n\n### Prerequisites\n\n#### [**zpc@py_zfx**](https://github.com/zenustech/zpc/tree/py_zfx)\n\nCurrently *zpc jit* module supports these JIT backends: LLVM (with openmp support if its runtime available) and Nvidia nvrtc. **py_zfx** is the target branch that is assumed to build ZPC JIT pipeline.\n\n#### [**llvm 15+**](https://github.com/llvm/llvm-project/releases/tag/llvmorg-15.0.7)\n\nUnder linux system,\n\n```bash\nsudo apt install libelf-dev\ncmake llvm -Bbuild -DLLVM_USE_CRT_RELEASE=MT -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_BUILD_TYPE:STRING=Release -DLLVM_TARGETS_TO_BUILD:STRING=X86 -DLLVM_ENABLE_PROJECTS=\"clang;openmp;compiler-rt\" -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_ENABLE_PEDANTIC=OFF -DLLVM_ENABLE_PIC=ON\ncmake --build build --parallel 16\nsudo cmake --build build --parallel 16 --target install\n```\n\nUnder windows system, it is preferred to acquire llvm through vcpkg.\n\n```powershell\n.\\vcpkg install llvm:x64-windows\n```\n\nIf a manual installation is demanded, make sure all **ATL components** have already been installed with visual studio, which is required for building LLVM. Then open terminal \"**x64 Native Tools Command Prompt for VS20xx**\", run the following build script.\n\n```powershell\ncmake llvm -Bbuild -G Ninja -DCMAKE_BUILD_TYPE=RELEASE -DLLVM_TARGETS_TO_BUILD=\"X86\" -DLLVM_ENABLE_PROJECTS=\"clang;openmp;compiler-rt\" -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_OPTIMIZED_TABLEGEN=ON -DLLVM_ENABLE_PIC=ON\ncd build\nninja\nninja install\n```\n\n*Ninja* generator should be accessible alongside visual studio.\n\n#### [**nvrtc (cuda toolkit)**](https://developer.nvidia.com/cuda-downloads)\n\nCuda 11.6+ is required for zpc build, though the newest version is generally preferred.\n\n#### **python 3.11**\n\nWhenever you build a cmake c++ project that depends on the python package (i.e. find_package(Python3)) under windows system, it is preferred to put \"-DCMAKE_MODULE_PATH=path/to/vs/cmake/path\" during cmake configuration, where the *FindPython3.cmake* file that belongs to your visual studio IDE resides (e.g. \"C:/Microsoft_Visual_Studio/2022/Community/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.26/Modules\"), thus avoiding misuse of python from your vcpkg packages.\n\n### Python Package Installation\n\n```bash\npip install . --verbose\n```\n\n### Zeno Installation\n\n(TBD)\n\n## Usage\n\n```python\nimport pyzpc as zs\nimport zpy  # if used in zeno, this is required\n```\n\n### standalone mode\n\n### zeno mode\n\n## Example\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenustech%2Fpoc_zpc_jit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzenustech%2Fpoc_zpc_jit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzenustech%2Fpoc_zpc_jit/lists"}