{"id":15873828,"url":"https://github.com/phronmophobic/volcano","last_synced_at":"2025-04-01T22:43:26.236Z","repository":{"id":176300551,"uuid":"655510752","full_name":"phronmophobic/volcano","owner":"phronmophobic","description":null,"archived":false,"fork":false,"pushed_at":"2023-06-19T04:01:50.000Z","size":17,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T19:42:17.747Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phronmophobic.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-06-19T03:50:07.000Z","updated_at":"2023-06-19T13:13:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"013f566e-0b13-4b14-ab0c-1abeae4fbf07","html_url":"https://github.com/phronmophobic/volcano","commit_stats":{"total_commits":4,"total_committers":1,"mean_commits":4.0,"dds":0.0,"last_synced_commit":"42365b9ab715783c0e803e8d34a312d95ebe293d"},"previous_names":["phronmophobic/volcano"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phronmophobic%2Fvolcano","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phronmophobic%2Fvolcano/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phronmophobic%2Fvolcano/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phronmophobic%2Fvolcano/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phronmophobic","download_url":"https://codeload.github.com/phronmophobic/volcano/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246724797,"owners_count":20823543,"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-10-06T01:07:17.534Z","updated_at":"2025-04-01T22:43:26.217Z","avatar_url":"https://github.com/phronmophobic.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Volcano\n\nA barely working example of running a compute shader using vulkan from clojure.\n\nThis example mostly follows the c++ example from https://github.com/mcleary/VulkanHpp-Compute-Sample.\n\n## Usage\n\nThe code has only been tested on an M1 mac, although it should (in theory) be portable to other operating systems and architectures where vulkan is available with minor changes. Both the API and shared library are derived from the system property `volcano.vulkan.sdk.path` (see `deps.edn`). Some minor changes to the shared library and header path will be required for other OS's, but hopefully everything else should work as-is (fingers crossed).\n\nThe vulkan SDK can be downloaded from https://vulkan.lunarg.com/sdk/home.\n\nAdditionally, libclang must be available on the native library path in order to parse the vulkan headers and generate the vulkan API foreign interface.\n\nBefore running, the compute shader, `Square.hlsl` must be compiled to `Square.hsv` (see `compile_shaders.sh`).\n\nThe code is mostly boilerplate. The main idea of the program is to setup a buffer of 10 int32's, square them using the computer shader `Square.hlsl`, and then retrieve the result.\n\n## Running\n\n```sh\nclojure -M:project -m com.phronemophobic.volcano\n```\n\nIf everything is setup correctly, the integers from 0 to 9 should be printed along with their squares (and some debug info).\n\n\n## License\n\nCopyright © 2022 Adrian Smith\n\nDistributed under the Eclipse Public License version 1.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphronmophobic%2Fvolcano","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphronmophobic%2Fvolcano","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphronmophobic%2Fvolcano/lists"}