{"adoption": {"forks": 212, "observed_at": "2026-08-28T04:04:16.393231+00:00", "stars": 1294}, "canonical_url": "https://ross.abutalabs.com/products/sgemm_cuda", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Fast CUDA matrix multiplication from scratch", "domain": ["gpu-computing", "deep-learning", "performance", "tutorials"], "enriched": true, "function": ["benchmarking", "math", "gpu-computing"], "health_score": 44, "homepage": "https://siboehm.com/articles/22/CUDA-MMM", "language": "Cuda", "license": "MIT", "license_family": "permissive", "maturity": "stable", "member_repos": ["siboehm/SGEMM_CUDA"], "name": "siboehm/SGEMM_CUDA", "platform": ["cpp"], "pushed_at": "2025-09-02T14:42:11+00:00", "repo": "siboehm/SGEMM_CUDA", "stars": 1294, "tags": ["cuda", "sgemm", "matrix-multiplication", "kernel-optimization", "gpgpu", "educational", "algorithms", "linux"], "topics": [], "urls": [], "use_cases": ["learn how to write fast CUDA matrix multiplication kernels", "understand GPU memory coalescing and shared memory optimization", "benchmark custom CUDA kernels against cuBLAS", "study GPU performance optimization for deep learning workloads", "learn CUDA kernel autotuning and warptiling techniques"], "what_it_is": "An educational repository demonstrating step-by-step optimization of a CUDA SGEMM (matrix multiplication) kernel from a naive implementation to within ~94% of cuBLAS performance. It accompanies a detailed blog worklog explaining GPU performance concepts like memory coalescing, shared memory caching, and warptiling.", "when_to_avoid": ["you need a production matrix multiplication library - use cuBLAS instead", "you need tensor core (TF32/BF16) support, which is not covered", "you work on non-NVIDIA GPUs, since the code is CUDA-specific"], "when_to_choose": ["you want to learn CUDA kernel optimization from first principles", "you need a worked example of optimizing matrix multiplication on NVIDIA GPUs", "you want to understand why cuBLAS is fast and what techniques it uses"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/sgemm_cuda", "repo": "siboehm/SGEMM_CUDA", "role": "main", "score": 50}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.393231+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:54:06.709802+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64040560d1a4adf6c42a2a6f970c19e2b061620c2b3587c4263ca9cbdfc4078a", "fetched_at": "2026-08-28T04:04:16.393231+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siboehm/SGEMM_CUDA"}, {"content_hash": "96b1f2c3c69dc97b1a8387107ca7cd2da4787ab6ead4be47f4407c14886e4edf", "fetched_at": "2026-08-29T12:10:53.337130+00:00", "kind": "homepage", "missing": false, "url": "https://siboehm.com/articles/22/CUDA-MMM"}, {"content_hash": "b4d5838889dfac4c796813e649557344862a86cb7d38b479799c84a2d64c111a", "fetched_at": "2026-08-29T12:10:53.348041+00:00", "kind": "site_page", "missing": false, "url": "https://siboehm.com/about"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.393231+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:54:06.709802+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64040560d1a4adf6c42a2a6f970c19e2b061620c2b3587c4263ca9cbdfc4078a", "fetched_at": "2026-08-28T04:04:16.393231+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siboehm/SGEMM_CUDA"}, {"content_hash": "96b1f2c3c69dc97b1a8387107ca7cd2da4787ab6ead4be47f4407c14886e4edf", "fetched_at": "2026-08-29T12:10:53.337130+00:00", "kind": "homepage", "missing": false, "url": "https://siboehm.com/articles/22/CUDA-MMM"}, {"content_hash": "b4d5838889dfac4c796813e649557344862a86cb7d38b479799c84a2d64c111a", "fetched_at": "2026-08-29T12:10:53.348041+00:00", "kind": "site_page", "missing": false, "url": "https://siboehm.com/about"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:54:06.709802+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64040560d1a4adf6c42a2a6f970c19e2b061620c2b3587c4263ca9cbdfc4078a", "fetched_at": "2026-08-28T04:04:16.393231+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siboehm/SGEMM_CUDA"}, {"content_hash": "96b1f2c3c69dc97b1a8387107ca7cd2da4787ab6ead4be47f4407c14886e4edf", "fetched_at": "2026-08-29T12:10:53.337130+00:00", "kind": "homepage", "missing": false, "url": "https://siboehm.com/articles/22/CUDA-MMM"}, {"content_hash": "b4d5838889dfac4c796813e649557344862a86cb7d38b479799c84a2d64c111a", "fetched_at": "2026-08-29T12:10:53.348041+00:00", "kind": "site_page", "missing": false, "url": "https://siboehm.com/about"}], "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:04:16.393231+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.393231+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.393231+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:54:06.709802+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64040560d1a4adf6c42a2a6f970c19e2b061620c2b3587c4263ca9cbdfc4078a", "fetched_at": "2026-08-28T04:04:16.393231+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siboehm/SGEMM_CUDA"}, {"content_hash": "96b1f2c3c69dc97b1a8387107ca7cd2da4787ab6ead4be47f4407c14886e4edf", "fetched_at": "2026-08-29T12:10:53.337130+00:00", "kind": "homepage", "missing": false, "url": "https://siboehm.com/articles/22/CUDA-MMM"}, {"content_hash": "b4d5838889dfac4c796813e649557344862a86cb7d38b479799c84a2d64c111a", "fetched_at": "2026-08-29T12:10:53.348041+00:00", "kind": "site_page", "missing": false, "url": "https://siboehm.com/about"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.393231+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.393231+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:54:06.709802+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64040560d1a4adf6c42a2a6f970c19e2b061620c2b3587c4263ca9cbdfc4078a", "fetched_at": "2026-08-28T04:04:16.393231+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siboehm/SGEMM_CUDA"}, {"content_hash": "96b1f2c3c69dc97b1a8387107ca7cd2da4787ab6ead4be47f4407c14886e4edf", "fetched_at": "2026-08-29T12:10:53.337130+00:00", "kind": "homepage", "missing": false, "url": "https://siboehm.com/articles/22/CUDA-MMM"}, {"content_hash": "b4d5838889dfac4c796813e649557344862a86cb7d38b479799c84a2d64c111a", "fetched_at": "2026-08-29T12:10:53.348041+00:00", "kind": "site_page", "missing": false, "url": "https://siboehm.com/about"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.393231+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.393231+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.393231+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:54:06.709802+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64040560d1a4adf6c42a2a6f970c19e2b061620c2b3587c4263ca9cbdfc4078a", "fetched_at": "2026-08-28T04:04:16.393231+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siboehm/SGEMM_CUDA"}, {"content_hash": "96b1f2c3c69dc97b1a8387107ca7cd2da4787ab6ead4be47f4407c14886e4edf", "fetched_at": "2026-08-29T12:10:53.337130+00:00", "kind": "homepage", "missing": false, "url": "https://siboehm.com/articles/22/CUDA-MMM"}, {"content_hash": "b4d5838889dfac4c796813e649557344862a86cb7d38b479799c84a2d64c111a", "fetched_at": "2026-08-29T12:10:53.348041+00:00", "kind": "site_page", "missing": false, "url": "https://siboehm.com/about"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.393231+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:16.393231+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:54:06.709802+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64040560d1a4adf6c42a2a6f970c19e2b061620c2b3587c4263ca9cbdfc4078a", "fetched_at": "2026-08-28T04:04:16.393231+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siboehm/SGEMM_CUDA"}, {"content_hash": "96b1f2c3c69dc97b1a8387107ca7cd2da4787ab6ead4be47f4407c14886e4edf", "fetched_at": "2026-08-29T12:10:53.337130+00:00", "kind": "homepage", "missing": false, "url": "https://siboehm.com/articles/22/CUDA-MMM"}, {"content_hash": "b4d5838889dfac4c796813e649557344862a86cb7d38b479799c84a2d64c111a", "fetched_at": "2026-08-29T12:10:53.348041+00:00", "kind": "site_page", "missing": false, "url": "https://siboehm.com/about"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:54:06.709802+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64040560d1a4adf6c42a2a6f970c19e2b061620c2b3587c4263ca9cbdfc4078a", "fetched_at": "2026-08-28T04:04:16.393231+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siboehm/SGEMM_CUDA"}, {"content_hash": "96b1f2c3c69dc97b1a8387107ca7cd2da4787ab6ead4be47f4407c14886e4edf", "fetched_at": "2026-08-29T12:10:53.337130+00:00", "kind": "homepage", "missing": false, "url": "https://siboehm.com/articles/22/CUDA-MMM"}, {"content_hash": "b4d5838889dfac4c796813e649557344862a86cb7d38b479799c84a2d64c111a", "fetched_at": "2026-08-29T12:10:53.348041+00:00", "kind": "site_page", "missing": false, "url": "https://siboehm.com/about"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:54:06.709802+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64040560d1a4adf6c42a2a6f970c19e2b061620c2b3587c4263ca9cbdfc4078a", "fetched_at": "2026-08-28T04:04:16.393231+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siboehm/SGEMM_CUDA"}, {"content_hash": "96b1f2c3c69dc97b1a8387107ca7cd2da4787ab6ead4be47f4407c14886e4edf", "fetched_at": "2026-08-29T12:10:53.337130+00:00", "kind": "homepage", "missing": false, "url": "https://siboehm.com/articles/22/CUDA-MMM"}, {"content_hash": "b4d5838889dfac4c796813e649557344862a86cb7d38b479799c84a2d64c111a", "fetched_at": "2026-08-29T12:10:53.348041+00:00", "kind": "site_page", "missing": false, "url": "https://siboehm.com/about"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:54:06.709802+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "64040560d1a4adf6c42a2a6f970c19e2b061620c2b3587c4263ca9cbdfc4078a", "fetched_at": "2026-08-28T04:04:16.393231+00:00", "kind": "readme", "missing": false, "url": "https://github.com/siboehm/SGEMM_CUDA"}, {"content_hash": "96b1f2c3c69dc97b1a8387107ca7cd2da4787ab6ead4be47f4407c14886e4edf", "fetched_at": "2026-08-29T12:10:53.337130+00:00", "kind": "homepage", "missing": false, "url": "https://siboehm.com/articles/22/CUDA-MMM"}, {"content_hash": "b4d5838889dfac4c796813e649557344862a86cb7d38b479799c84a2d64c111a", "fetched_at": "2026-08-29T12:10:53.348041+00:00", "kind": "site_page", "missing": false, "url": "https://siboehm.com/about"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 40, "longevity": 99, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1390, "days_push": 365, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 50, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}