{"id":20375253,"url":"https://github.com/turbo/nanocl","last_synced_at":"2025-04-12T07:18:11.096Z","repository":{"id":116541770,"uuid":"80322895","full_name":"turbo/NanoCL","owner":"turbo","description":"Zero-Overhead bare-metal GPGPU library for C++ on Windows.","archived":false,"fork":false,"pushed_at":"2017-01-29T01:52:03.000Z","size":9,"stargazers_count":15,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-12T07:18:02.304Z","etag":null,"topics":["glsl","gpgpu","parallelism"],"latest_commit_sha":null,"homepage":null,"language":"C++","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/turbo.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":"2017-01-29T01:33:01.000Z","updated_at":"2023-01-22T20:26:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"4aba6c0a-0287-4117-b16a-64cfd1ec2c7c","html_url":"https://github.com/turbo/NanoCL","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turbo%2FNanoCL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turbo%2FNanoCL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turbo%2FNanoCL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turbo%2FNanoCL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/turbo","download_url":"https://codeload.github.com/turbo/NanoCL/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248530604,"owners_count":21119601,"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":["glsl","gpgpu","parallelism"],"created_at":"2024-11-15T01:29:30.006Z","updated_at":"2025-04-12T07:18:11.091Z","avatar_url":"https://github.com/turbo.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![](http://i.imgur.com/pE9Bswx.png)]()\n\nNanoCL provides a thin wrapper on top of OpenGl functions for GPGPU programming. It can be used to allocate and manage GPU memory and run GLSL kernels on standard `float[]` arrays.\n\nThis library is the upstream source for [turbo.js](https://github.com/turbo/js), but is vastly more capable. \n\nThough NanoCL is much more trivial than OpenCL, it can provide certain advantages:\n\n- virtually no compile-time overhead\n- completely dependency-free\n- compatible with almost all GPUs and GLSL-compatible software renderers\n- transparent source code\n- allows for easier tracing using performance analysis (perf, Amp, ...) because no superfluous levels of indirections are used\n\nNanoCL was designed for Windows. It does not require any OpenGL wrapper libraries like GLU or GLFW, just the OpenGL headers. It was tested using TDM-GCC, ICC and MSVC.\n\nDocumentation is in progress.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturbo%2Fnanocl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fturbo%2Fnanocl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturbo%2Fnanocl/lists"}