{"id":19380906,"url":"https://github.com/openmachine-ai/huggingfive","last_synced_at":"2026-03-08T10:37:06.446Z","repository":{"id":183377651,"uuid":"669437658","full_name":"OpenMachine-ai/HuggingFive","owner":"OpenMachine-ai","description":"HuggingFive 🖐️ is a collection of ML functions and libraries written in RISC-V assembly and C.","archived":false,"fork":false,"pushed_at":"2023-07-29T20:00:05.000Z","size":78,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-13T07:38:34.619Z","etag":null,"topics":["ai","assembly","machine-learning","ml","risc-v","riscv-assembly","riscv32"],"latest_commit_sha":null,"homepage":"","language":null,"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/OpenMachine-ai.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-07-22T09:22:24.000Z","updated_at":"2025-07-17T20:01:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"cc6e99cf-a774-440a-8206-1ce78087acaa","html_url":"https://github.com/OpenMachine-ai/HuggingFive","commit_stats":null,"previous_names":["openmachine-ai/huggingfive"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OpenMachine-ai/HuggingFive","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMachine-ai%2FHuggingFive","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMachine-ai%2FHuggingFive/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMachine-ai%2FHuggingFive/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMachine-ai%2FHuggingFive/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenMachine-ai","download_url":"https://codeload.github.com/OpenMachine-ai/HuggingFive/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenMachine-ai%2FHuggingFive/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30253833,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T08:59:44.879Z","status":"ssl_error","status_checked_at":"2026-03-08T08:58:02.867Z","response_time":56,"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":["ai","assembly","machine-learning","ml","risc-v","riscv-assembly","riscv32"],"created_at":"2024-11-10T09:15:16.233Z","updated_at":"2026-03-08T10:37:06.430Z","avatar_url":"https://github.com/OpenMachine-ai.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# HuggingFive :raised_hand_with_fingers_splayed:\nHuggingFive :raised_hand_with_fingers_splayed: is a collection of ML functions and libraries written in RISC-V assembly and C.  This includes neural network layers, activation functions, as well as entire neural networks. Think of it as a low-level HuggingFace for RISC-V assembly code.  The table below includes performance numbers for benchmarking.  The hope is to eventually roll all these handwritten tricks into the existing compiler toolchains (or have AI generate even better assembly code). \n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003cth rowspan=\"2\"\u003eDescription\u003c/td\u003e\n    \u003cth rowspan=\"2\"\u003eAuthor\u003c/td\u003e\n    \u003cth rowspan=\"2\"\u003eRV config\u003c/td\u003e\n    \u003cth rowspan=\"2\"\u003eData types\u003c/td\u003e\n    \u003cth colspan=\"5\"\u003ePerformance numbers for an exemplary config\u003c/td\u003e\n    \u003cth rowspan=\"2\"\u003eNotes\u003c/td\u003e\n  \u003c/tr\u003e \u003ctr\u003e\n    \u003cth\u003eConfig\u003c/td\u003e\n    \u003cth\u003eMACs\u003c/td\u003e\n    \u003cth\u003eOps\u003c/td\u003e\n    \u003cth\u003e\u003cb\u003eRegister utilization\u003c/b\u003e\u003c/td\u003e\n    \u003cth\u003e\u003cb\u003eMemory size (B)\u003c/b\u003e\u003c/td\u003e   \n  \u003c/tr\u003e \u003ctr\u003e\n    \u003c!--- Conv2D 1x1 ---\u003e\n    \u003ctd\u003e\u003ca href='https://github.com/OpenMachine-ai/tinyfive/blob/main/layer_examples.py'\u003eConv2D 1x1\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003eOpenMachine\u003c/td\u003e\n    \u003ctd\u003eRV32IF\u003c/td\u003e\n    \u003ctd\u003eFP32\u003c/td\u003e\n    \u003ctd\u003eC=32, F=32, R=6\u003c/td\u003e\n    \u003ctd\u003eC F R\u003csup\u003e2\u003c/sup\u003e = 36,864\u003c/td\u003e\n    \u003ctd\u003e57,953\u003c/td\u003e\n    \u003ctd\u003e8/31 x-regs, 21/32 f-regs\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n  \u003c/tr\u003e \u003ctr\u003e\n    \u003c!--- Conv2D 3x3 ---\u003e\n    \u003ctd\u003e\u003ca href='https://github.com/OpenMachine-ai/tinyfive/blob/main/layer_examples.py'\u003eConv2D 3x3\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003eOpenMachine\u003c/td\u003e\n    \u003ctd\u003eRV32IF\u003c/td\u003e\n    \u003ctd\u003eFP32\u003c/td\u003e\n    \u003ctd\u003eC=3, F=8, R=12, stride=1\u003c/td\u003e\n    \u003ctd\u003e9 C F R\u003csup\u003e2\u003c/sup\u003e = 31,104\u003c/td\u003e\n    \u003ctd\u003eTBD\u003c/td\u003e\n    \u003ctd\u003eTBD\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n  \u003c/tr\u003e \u003ctr\u003e\n    \u003c!--- Depthwise Conv2D 3x3 ---\u003e\n    \u003ctd\u003e\u003ca href='https://github.com/OpenMachine-ai/tinyfive/blob/main/layer_examples.py'\u003eDepthwise Conv2D 3x3\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003eOpenMachine\u003c/td\u003e\n    \u003ctd\u003eRV32IF\u003c/td\u003e\n    \u003ctd\u003eFP32\u003c/td\u003e\n    \u003ctd\u003eC=4, R=6, stride=1\u003c/td\u003e\n    \u003ctd\u003e 9 C R\u003csup\u003e2\u003c/sup\u003e = 1,296\u003c/td\u003e\n    \u003ctd\u003eTBD\u003c/td\u003e\n    \u003ctd\u003eTBD\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n  \u003c/tr\u003e \u003ctr\u003e\n    \u003c!--- please add your entry here ---\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\u003c!--- Note: use HTML for the table above because markdown doesn't support cell-merging ---\u003e\n\n- C : input channels\n- F : output channels (or filters), only used if F is not the same as C\n- R : square root of input resolution (e.g. R=6 for image resolution of 6x6 pixels)\n- Q : square root of output resolution, only used if Q is not the same as R\n- MACs : number of fused multiply-accumulate operations required by the neural-network layer (can be used as a lower-bound for total number of ops; this number ignores possible savings from zero-padding for conv-layers)  \n\n\n## Contribute\nPlease add your functions and routines to HuggingFive :raised_hand_with_fingers_splayed:: Add a link to your code in the \ntable and submit a PR, which will get approved promptly because there are no rules here.\n\n\nMore details coming soon ...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmachine-ai%2Fhuggingfive","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenmachine-ai%2Fhuggingfive","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenmachine-ai%2Fhuggingfive/lists"}