{"adoption": {"forks": 661, "observed_at": "2026-08-28T04:11:09.714505+00:00", "stars": 15370}, "canonical_url": "https://ross.abutalabs.com/products/gpujs", "card": {"archived": false, "artifact_type": "library", "description": "GPU Accelerated JavaScript", "domain": ["gpu-computing", "web-development", "developer-tools", "performance"], "enriched": true, "function": ["gpu-computing", "math", "compiler", "machine-learning"], "health_score": 98, "homepage": "https://gpu.rocks", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["gpujs/gpu.js"], "name": "gpujs/gpu.js", "platform": ["browser", "cross-platform"], "pushed_at": "2026-08-05T15:59:42+00:00", "repo": "gpujs/gpu.js", "stars": 15370, "tags": ["gpgpu", "webgl", "glsl", "shader-transpilation", "cpu-fallback", "parallel-computing", "algorithms", "nodejs", "javascript", "web"], "topics": ["gpu", "webgl", "javascript", "math", "gpgpu", "glsl", "nodejs"], "urls": [], "use_cases": ["accelerate matrix multiplication in javascript", "run parallel computations on the gpu from the browser", "speed up heavy math loops in node.js", "transpile javascript functions to webgl shaders", "add gpu acceleration with cpu fallback", "compute large 2d arrays faster in javascript"], "what_it_is": "GPU.js is a JavaScript acceleration library for GPGPU that automatically transpiles JavaScript functions into shader language (GLSL) and compiles them to run on the GPU, with automatic CPU fallback when no GPU is available. It works in both the browser (via WebGL) and Node.js, often delivering 1-15x speedups for parallelizable computations like matrix math.", "when_to_avoid": ["your code is inherently sequential or branch-heavy, where GPU gains are minimal", "you need WebGPU or CUDA-specific features rather than WebGL-based kernels", "you need a full machine learning framework with autodiff and model training"], "when_to_choose": ["you need GPU acceleration for parallelizable numeric JavaScript code without writing shaders", "you want a single codebase that runs in browser and Node.js with automatic CPU fallback", "your workload involves matrix math, image processing, or large array computations"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gpujs", "repo": "gpujs/gpu.js", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:06:20.998147+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b27b67aed491078bcaa6036dec75acd208595d45c3bc01aae03afcefb4ebe20d", "fetched_at": "2026-08-28T04:11:09.714505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gpujs/gpu.js"}, {"content_hash": "8f53096d2ea24cc211a6cc3f1c833d7338c1fd7eae41dee9ab9283f7b66c0bee", "fetched_at": "2026-08-29T08:04:28.432493+00:00", "kind": "homepage", "missing": false, "url": "https://gpu.rocks"}, {"content_hash": "2b0b856e60278aa0443fd08dbe0cb40688a94bd3cad5a41140cb6a73aea7c4a0", "fetched_at": "2026-08-29T08:04:28.441676+00:00", "kind": "site_page", "missing": false, "url": "https://gpu.rocks/install"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:06:20.998147+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b27b67aed491078bcaa6036dec75acd208595d45c3bc01aae03afcefb4ebe20d", "fetched_at": "2026-08-28T04:11:09.714505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gpujs/gpu.js"}, {"content_hash": "8f53096d2ea24cc211a6cc3f1c833d7338c1fd7eae41dee9ab9283f7b66c0bee", "fetched_at": "2026-08-29T08:04:28.432493+00:00", "kind": "homepage", "missing": false, "url": "https://gpu.rocks"}, {"content_hash": "2b0b856e60278aa0443fd08dbe0cb40688a94bd3cad5a41140cb6a73aea7c4a0", "fetched_at": "2026-08-29T08:04:28.441676+00:00", "kind": "site_page", "missing": false, "url": "https://gpu.rocks/install"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:06:20.998147+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b27b67aed491078bcaa6036dec75acd208595d45c3bc01aae03afcefb4ebe20d", "fetched_at": "2026-08-28T04:11:09.714505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gpujs/gpu.js"}, {"content_hash": "8f53096d2ea24cc211a6cc3f1c833d7338c1fd7eae41dee9ab9283f7b66c0bee", "fetched_at": "2026-08-29T08:04:28.432493+00:00", "kind": "homepage", "missing": false, "url": "https://gpu.rocks"}, {"content_hash": "2b0b856e60278aa0443fd08dbe0cb40688a94bd3cad5a41140cb6a73aea7c4a0", "fetched_at": "2026-08-29T08:04:28.441676+00:00", "kind": "site_page", "missing": false, "url": "https://gpu.rocks/install"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:06:20.998147+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b27b67aed491078bcaa6036dec75acd208595d45c3bc01aae03afcefb4ebe20d", "fetched_at": "2026-08-28T04:11:09.714505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gpujs/gpu.js"}, {"content_hash": "8f53096d2ea24cc211a6cc3f1c833d7338c1fd7eae41dee9ab9283f7b66c0bee", "fetched_at": "2026-08-29T08:04:28.432493+00:00", "kind": "homepage", "missing": false, "url": "https://gpu.rocks"}, {"content_hash": "2b0b856e60278aa0443fd08dbe0cb40688a94bd3cad5a41140cb6a73aea7c4a0", "fetched_at": "2026-08-29T08:04:28.441676+00:00", "kind": "site_page", "missing": false, "url": "https://gpu.rocks/install"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:06:20.998147+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b27b67aed491078bcaa6036dec75acd208595d45c3bc01aae03afcefb4ebe20d", "fetched_at": "2026-08-28T04:11:09.714505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gpujs/gpu.js"}, {"content_hash": "8f53096d2ea24cc211a6cc3f1c833d7338c1fd7eae41dee9ab9283f7b66c0bee", "fetched_at": "2026-08-29T08:04:28.432493+00:00", "kind": "homepage", "missing": false, "url": "https://gpu.rocks"}, {"content_hash": "2b0b856e60278aa0443fd08dbe0cb40688a94bd3cad5a41140cb6a73aea7c4a0", "fetched_at": "2026-08-29T08:04:28.441676+00:00", "kind": "site_page", "missing": false, "url": "https://gpu.rocks/install"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:06:20.998147+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b27b67aed491078bcaa6036dec75acd208595d45c3bc01aae03afcefb4ebe20d", "fetched_at": "2026-08-28T04:11:09.714505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gpujs/gpu.js"}, {"content_hash": "8f53096d2ea24cc211a6cc3f1c833d7338c1fd7eae41dee9ab9283f7b66c0bee", "fetched_at": "2026-08-29T08:04:28.432493+00:00", "kind": "homepage", "missing": false, "url": "https://gpu.rocks"}, {"content_hash": "2b0b856e60278aa0443fd08dbe0cb40688a94bd3cad5a41140cb6a73aea7c4a0", "fetched_at": "2026-08-29T08:04:28.441676+00:00", "kind": "site_page", "missing": false, "url": "https://gpu.rocks/install"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:09.714505+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:06:20.998147+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b27b67aed491078bcaa6036dec75acd208595d45c3bc01aae03afcefb4ebe20d", "fetched_at": "2026-08-28T04:11:09.714505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gpujs/gpu.js"}, {"content_hash": "8f53096d2ea24cc211a6cc3f1c833d7338c1fd7eae41dee9ab9283f7b66c0bee", "fetched_at": "2026-08-29T08:04:28.432493+00:00", "kind": "homepage", "missing": false, "url": "https://gpu.rocks"}, {"content_hash": "2b0b856e60278aa0443fd08dbe0cb40688a94bd3cad5a41140cb6a73aea7c4a0", "fetched_at": "2026-08-29T08:04:28.441676+00:00", "kind": "site_page", "missing": false, "url": "https://gpu.rocks/install"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:06:20.998147+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b27b67aed491078bcaa6036dec75acd208595d45c3bc01aae03afcefb4ebe20d", "fetched_at": "2026-08-28T04:11:09.714505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gpujs/gpu.js"}, {"content_hash": "8f53096d2ea24cc211a6cc3f1c833d7338c1fd7eae41dee9ab9283f7b66c0bee", "fetched_at": "2026-08-29T08:04:28.432493+00:00", "kind": "homepage", "missing": false, "url": "https://gpu.rocks"}, {"content_hash": "2b0b856e60278aa0443fd08dbe0cb40688a94bd3cad5a41140cb6a73aea7c4a0", "fetched_at": "2026-08-29T08:04:28.441676+00:00", "kind": "site_page", "missing": false, "url": "https://gpu.rocks/install"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:06:20.998147+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b27b67aed491078bcaa6036dec75acd208595d45c3bc01aae03afcefb4ebe20d", "fetched_at": "2026-08-28T04:11:09.714505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gpujs/gpu.js"}, {"content_hash": "8f53096d2ea24cc211a6cc3f1c833d7338c1fd7eae41dee9ab9283f7b66c0bee", "fetched_at": "2026-08-29T08:04:28.432493+00:00", "kind": "homepage", "missing": false, "url": "https://gpu.rocks"}, {"content_hash": "2b0b856e60278aa0443fd08dbe0cb40688a94bd3cad5a41140cb6a73aea7c4a0", "fetched_at": "2026-08-29T08:04:28.441676+00:00", "kind": "site_page", "missing": false, "url": "https://gpu.rocks/install"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:06:20.998147+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b27b67aed491078bcaa6036dec75acd208595d45c3bc01aae03afcefb4ebe20d", "fetched_at": "2026-08-28T04:11:09.714505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/gpujs/gpu.js"}, {"content_hash": "8f53096d2ea24cc211a6cc3f1c833d7338c1fd7eae41dee9ab9283f7b66c0bee", "fetched_at": "2026-08-29T08:04:28.432493+00:00", "kind": "homepage", "missing": false, "url": "https://gpu.rocks"}, {"content_hash": "2b0b856e60278aa0443fd08dbe0cb40688a94bd3cad5a41140cb6a73aea7c4a0", "fetched_at": "2026-08-29T08:04:28.441676+00:00", "kind": "site_page", "missing": false, "url": "https://gpu.rocks/install"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 96, "longevity": 100, "rhythm": 96}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3858, "days_push": 28, "days_rel": 28, "gap_med": 0.0, "n_releases_24m": 21}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}