{"id":38659911,"url":"https://github.com/electronicvisions/hxtorch","last_synced_at":"2026-01-17T09:35:25.769Z","repository":{"id":78950238,"uuid":"251622050","full_name":"electronicvisions/hxtorch","owner":"electronicvisions","description":"BrainScaleS-2 via PyTorch","archived":false,"fork":false,"pushed_at":"2025-12-04T16:50:49.000Z","size":1422,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-12-07T21:47:58.982Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/electronicvisions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.md","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-03-31T14:08:48.000Z","updated_at":"2025-12-04T16:50:55.000Z","dependencies_parsed_at":"2023-10-20T19:39:11.849Z","dependency_job_id":"a933d5a6-bc72-4849-8b7b-018dbdf2f50c","html_url":"https://github.com/electronicvisions/hxtorch","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/electronicvisions/hxtorch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electronicvisions%2Fhxtorch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electronicvisions%2Fhxtorch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electronicvisions%2Fhxtorch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electronicvisions%2Fhxtorch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/electronicvisions","download_url":"https://codeload.github.com/electronicvisions/hxtorch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electronicvisions%2Fhxtorch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28505565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":"2026-01-17T09:35:23.463Z","updated_at":"2026-01-17T09:35:25.736Z","avatar_url":"https://github.com/electronicvisions.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hxtorch: PyTorch for BrainScaleS-2\n\nThe software in this repository has been developed by staff and students\nof Heidelberg University as part of the research carried out by the\nElectronic Vision(s) group at the Kirchhoff-Institute for Physics.\nThe research is funded by Heidelberg University, the State of\nBaden-Württemberg, the European Union Sixth Framework Programme no.\n15879 (FACETS), the Seventh Framework Programme under grant agreements\nno 604102 (HBP), 269921 (BrainScaleS), 243914 (Brain-i-Nets), the\nHorizon 2020 Framework Programme under grant agreement 720270, 785907, 945539 (HBP) as\nwell as from the Manfred Stärk Foundation.\n\nThis repository contains\n\n* hxtorch -- a PyTorch extension for BrainScaleS-2\n\n## How to build\n### Build- and runtime dependencies\nAll build- and runtime dependencies are encapsulated in a [Singularity Container](https://sylabs.io/docs/).\nIf you want to build this project outside the Electronic Vision(s) cluster, please start by downloading the most recent version from [here](https://openproject.bioai.eu/containers/).\n\nFor all following steps, we assume that the most recent Singularity container is located at `/containers/stable/latest` – you are free to choose any other path.\n\n### Github-based build\nTo build this project from public resources, adhere to the following guide:\n\n```shell\n# 1) Most of the following steps will be executed within a singularity container\n#    To keep the steps clutter-free, we start by defining an alias\nshopt -s expand_aliases\nalias c=\"singularity exec --app dls /containers/stable/latest\"\n\n# 2) Prepare a fresh workspace and change directory into it\nmkdir workspace \u0026\u0026 cd workspace\n\n# 3) Fetch a current copy of the symwaf2ic build tool\ngit clone https://github.com/electronicvisions/waf -b symwaf2ic symwaf2ic\n\n# 4) Build symwaf2ic\nc make -C symwaf2ic\nln -s symwaf2ic/waf\n\n# 5) Setup your workspace and clone all dependencies (--clone-depth=1 to skip history)\nc ./waf setup --repo-db-url=https://github.com/electronicvisions/projects --project=hxtorch\n\n# 6) Load PPU cross-compiler toolchain (or build https://github.com/electronicvisions/oppulance)\nmodule load ppu-toolchain\n\n# 7) Build the project\n#    Adjust -j1 to your own needs, beware that high parallelism will increase memory consumption!\nc ./waf configure\nc ./waf build -j1\n\n# 8) Install the project to ./bin and ./lib\nc ./waf install\n\n# 9) If you run programs outside waf, you'll need to add ./lib and ./bin to your path specifications\nexport SINGULARITYENV_PREPEND_PATH=`pwd`/bin:$SINGULARITYENV_PREPEND_PATH\nexport SINGULARITYENV_LD_LIBRARY_PATH=`pwd`/lib:$SINGULARITYENV_LD_LIBRARY_PATH\nexport PYTHONPATH=`pwd`/lib:$PYTHONPATH\n```\n\n### On the Electronic Vision(s) Cluster\n\n* Work on the frontend machine, `helvetica`. You should have received instructions how to connect to it.\n* Follow [aforementioned instructions](#github-based-build) with the following simplifications\n  * Replace **steps 3) and 4)** by `module load waf`\n  * Make sure to run **step 7)** within a respective slurm allocation: Prefix `srun -p compile -c8`; depending on your shell, you might need to roll out the `c`-alias.\n  * Replace **step 8)** by `module load localdir`.\n\n## First steps\nCheck out our [examples](./src/pyhxtorch/hxtorch/examples/) and/or the [unit tests](./tests/hw/)!\n\n## License\n```\nhxtorch: PyTorch for BrainScaleS-2 ('hxtorch')\nCopyright (C) 2019–2021 Electronic Vision(s) Group\n                        Kirchhoff-Institute for Physics\n                        Ruprecht-Karls-Universität Heidelberg\n                        69120 Heidelberg\n                        Germany\n\nThis library is free software; you can redistribute it and/or\nmodify it under the terms of the GNU Lesser General Public\nLicense as published by the Free Software Foundation; either\nversion 2.1 of the License, or (at your option) any later version.\n\nThis library is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nLesser General Public License for more details.\n\nYou should have received a copy of the GNU Lesser General Public\nLicense along with this library; if not, write to the Free Software\nFoundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301\nUSA\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectronicvisions%2Fhxtorch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felectronicvisions%2Fhxtorch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectronicvisions%2Fhxtorch/lists"}