{"adoption": {"forks": 194, "observed_at": "2026-08-28T04:04:39.423465+00:00", "stars": 1412}, "canonical_url": "https://ross.abutalabs.com/products/gdrcopy", "card": {"archived": false, "artifact_type": "library", "description": "A fast GPU memory copy library based on NVIDIA GPUDirect RDMA technology", "domain": ["gpu-computing", "hardware", "performance", "developer-tools"], "enriched": true, "function": ["gpu-computing", "benchmarking"], "health_score": 94, "homepage": null, "language": "C", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["NVIDIA/gdrcopy"], "name": "NVIDIA/gdrcopy", "platform": ["c", "cli"], "pushed_at": "2026-07-14T23:16:03+00:00", "repo": "NVIDIA/gdrcopy", "stars": 1412, "tags": ["gpudirect-rdma", "gpu-memory", "cuda", "nvidia", "kernel-module", "dma", "low-latency", "memory-copy", "hpc", "host-device-transfer", "dkms", "linux", "gpu"], "topics": ["gpu-memory", "nvidia", "kernel-mode-driver", "gpudirect-rdma", "libraries", "linux"], "urls": [], "use_cases": ["copy data between CPU and GPU with very low latency", "map GPU memory into the host address space for direct CPU access", "reduce cudaMemcpy overhead for small transfers", "measure GPU memory copy bandwidth and latency", "run ping-pong latency tests between GPU and CPU", "sanity-test GPUDirect RDMA driver and library installation", "build HPC or networking applications that touch GPU memory from the host"], "what_it_is": "GDRCopy is a low-latency GPU memory copy library built on NVIDIA GPUDirect RDMA technology, allowing CPU-driven copies between host and GPU memory with minimal overhead. It includes a kernel-mode driver, a user-space API for mapping GPU memory as host-accessible memory, and benchmark/test applications for bandwidth, latency, and API performance.", "when_to_avoid": ["You need maximum device-to-host bandwidth - GPU BAR mappings cannot be prefetched, so D-H reads are slow; use cudaMemcpy for bulk transfers", "You are on Windows or macOS - GDRCopy is Linux-only", "You cannot or do not want to install kernel modules (DKMS/kmod) on your system", "You use consumer GeForce GPUs, which do not support GPUDirect RDMA"], "when_to_choose": ["You need low-latency host-to-device transfers and cudaMemcpy's 6-7us overhead is too high", "You run Linux with an NVIDIA Data Center or RTX GPU (Kepler or newer) and can install a DKMS kernel module", "You want CPU mappings of GPU memory for direct reads/writes or for wiring GPU memory into RDMA-capable NICs", "You need to benchmark or validate GPU memory copy performance"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gdrcopy", "repo": "NVIDIA/gdrcopy", "role": "main", "score": 84}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.423465+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:38:19.250655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "210a5cb7807abc8a83166408f17248ef3dd89e5bb80e3ea5ed72e3a2f9f25c54", "fetched_at": "2026-08-28T04:04:39.423465+00:00", "kind": "readme", "missing": false, "url": "https://github.com/NVIDIA/gdrcopy"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.423465+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:38:19.250655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "210a5cb7807abc8a83166408f17248ef3dd89e5bb80e3ea5ed72e3a2f9f25c54", "fetched_at": "2026-08-28T04:04:39.423465+00:00", "kind": "readme", "missing": false, "url": "https://github.com/NVIDIA/gdrcopy"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:38:19.250655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "210a5cb7807abc8a83166408f17248ef3dd89e5bb80e3ea5ed72e3a2f9f25c54", "fetched_at": "2026-08-28T04:04:39.423465+00:00", "kind": "readme", "missing": false, "url": "https://github.com/NVIDIA/gdrcopy"}], "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:39.423465+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.423465+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.423465+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:38:19.250655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "210a5cb7807abc8a83166408f17248ef3dd89e5bb80e3ea5ed72e3a2f9f25c54", "fetched_at": "2026-08-28T04:04:39.423465+00:00", "kind": "readme", "missing": false, "url": "https://github.com/NVIDIA/gdrcopy"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.423465+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.423465+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:38:19.250655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "210a5cb7807abc8a83166408f17248ef3dd89e5bb80e3ea5ed72e3a2f9f25c54", "fetched_at": "2026-08-28T04:04:39.423465+00:00", "kind": "readme", "missing": false, "url": "https://github.com/NVIDIA/gdrcopy"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.423465+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.423465+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.423465+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:38:19.250655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "210a5cb7807abc8a83166408f17248ef3dd89e5bb80e3ea5ed72e3a2f9f25c54", "fetched_at": "2026-08-28T04:04:39.423465+00:00", "kind": "readme", "missing": false, "url": "https://github.com/NVIDIA/gdrcopy"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.423465+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:39.423465+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:38:19.250655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "210a5cb7807abc8a83166408f17248ef3dd89e5bb80e3ea5ed72e3a2f9f25c54", "fetched_at": "2026-08-28T04:04:39.423465+00:00", "kind": "readme", "missing": false, "url": "https://github.com/NVIDIA/gdrcopy"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:38:19.250655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "210a5cb7807abc8a83166408f17248ef3dd89e5bb80e3ea5ed72e3a2f9f25c54", "fetched_at": "2026-08-28T04:04:39.423465+00:00", "kind": "readme", "missing": false, "url": "https://github.com/NVIDIA/gdrcopy"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:38:19.250655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "210a5cb7807abc8a83166408f17248ef3dd89e5bb80e3ea5ed72e3a2f9f25c54", "fetched_at": "2026-08-28T04:04:39.423465+00:00", "kind": "readme", "missing": false, "url": "https://github.com/NVIDIA/gdrcopy"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:38:19.250655+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "210a5cb7807abc8a83166408f17248ef3dd89e5bb80e3ea5ed72e3a2f9f25c54", "fetched_at": "2026-08-28T04:04:39.423465+00:00", "kind": "readme", "missing": false, "url": "https://github.com/NVIDIA/gdrcopy"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 64}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4286, "days_push": 50, "days_rel": 82, "gap_med": 96.0, "n_releases_24m": 7}, "score": 84, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}