{"adoption": {"forks": 558, "observed_at": "2026-08-28T04:09:02.138935+00:00", "stars": 4902}, "canonical_url": "https://ross.abutalabs.com/products/arrayfire", "card": {"archived": false, "artifact_type": "library", "description": "ArrayFire: a general purpose GPU library.", "domain": ["gpu-computing", "machine-learning", "image-processing", "computer-vision", "performance"], "enriched": true, "function": ["machine-learning", "image-processing", "computer-vision", "gpu-computing", "math", "data-science"], "health_score": 77, "homepage": "https://arrayfire.com", "language": "C++", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "stable", "member_repos": ["arrayfire/arrayfire"], "name": "arrayfire/arrayfire", "platform": ["cpp", "c", "windows", "cross-platform"], "pushed_at": "2026-03-07T03:06:52+00:00", "repo": "arrayfire/arrayfire", "stars": 4902, "tags": ["tensor-library", "gpgpu", "opencl", "oneapi", "linear-algebra", "signal-processing", "hpc", "scientific-computing", "algorithms", "cuda", "linux", "macos", "gpu"], "topics": ["arrayfire", "c-plus-plus", "gpu", "cuda", "opencl", "gpgpu", "hpc", "performance", "scientific-computing", "cpp", "c"], "urls": [], "use_cases": ["accelerate numerical array computations on GPU", "run linear algebra on CUDA or OpenCL devices", "GPU-accelerated image processing in C++", "port scientific computing code across CPU and GPU backends", "build high-performance machine learning primitives", "write cross-platform GPGPU code without writing kernels"], "what_it_is": "ArrayFire is a general-purpose tensor/numerical computing library for C, C++, and Python that accelerates array operations on GPUs (CUDA, OpenCL, oneAPI) and CPUs. It provides hundreds of functions for linear algebra, image processing, computer vision, signal processing, statistics, and machine learning behind a simple af::array abstraction.", "when_to_avoid": ["you need a Python-first deep learning framework with autograd and neural network layers", "you want a modern actively evolving ecosystem - development activity has slowed", "your workload is small and CPU-only, where GPU overhead outweighs gains", "you need distributed multi-node computing rather than single-device acceleration"], "when_to_choose": ["you need GPU-accelerated tensor math in C/C++ without writing CUDA kernels", "you want one API that targets CUDA, OpenCL, oneAPI, and CPU backends", "you need fast linear algebra, FFT, image, or signal processing routines", "you are doing HPC or scientific computing on NVIDIA, AMD, or Intel GPUs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/arrayfire", "repo": "arrayfire/arrayfire", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.138935+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:08.370114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2c1c6685823828cb60333d3f63b411315f61b628c452de1eb903cf8c6563e020", "fetched_at": "2026-08-28T04:09:02.138935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arrayfire/arrayfire"}, {"content_hash": "b298f69a27937945a0a7a32c7aae3ed02876b7eccdaae668d3cb959ea4cf3a6a", "fetched_at": "2026-08-29T09:00:18.004052+00:00", "kind": "homepage", "missing": false, "url": "https://arrayfire.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.138935+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:08.370114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2c1c6685823828cb60333d3f63b411315f61b628c452de1eb903cf8c6563e020", "fetched_at": "2026-08-28T04:09:02.138935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arrayfire/arrayfire"}, {"content_hash": "b298f69a27937945a0a7a32c7aae3ed02876b7eccdaae668d3cb959ea4cf3a6a", "fetched_at": "2026-08-29T09:00:18.004052+00:00", "kind": "homepage", "missing": false, "url": "https://arrayfire.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:08.370114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2c1c6685823828cb60333d3f63b411315f61b628c452de1eb903cf8c6563e020", "fetched_at": "2026-08-28T04:09:02.138935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arrayfire/arrayfire"}, {"content_hash": "b298f69a27937945a0a7a32c7aae3ed02876b7eccdaae668d3cb959ea4cf3a6a", "fetched_at": "2026-08-29T09:00:18.004052+00:00", "kind": "homepage", "missing": false, "url": "https://arrayfire.com"}], "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:09:02.138935+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.138935+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.138935+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:08.370114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2c1c6685823828cb60333d3f63b411315f61b628c452de1eb903cf8c6563e020", "fetched_at": "2026-08-28T04:09:02.138935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arrayfire/arrayfire"}, {"content_hash": "b298f69a27937945a0a7a32c7aae3ed02876b7eccdaae668d3cb959ea4cf3a6a", "fetched_at": "2026-08-29T09:00:18.004052+00:00", "kind": "homepage", "missing": false, "url": "https://arrayfire.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.138935+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.138935+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:08.370114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2c1c6685823828cb60333d3f63b411315f61b628c452de1eb903cf8c6563e020", "fetched_at": "2026-08-28T04:09:02.138935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arrayfire/arrayfire"}, {"content_hash": "b298f69a27937945a0a7a32c7aae3ed02876b7eccdaae668d3cb959ea4cf3a6a", "fetched_at": "2026-08-29T09:00:18.004052+00:00", "kind": "homepage", "missing": false, "url": "https://arrayfire.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.138935+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.138935+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.138935+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:08.370114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2c1c6685823828cb60333d3f63b411315f61b628c452de1eb903cf8c6563e020", "fetched_at": "2026-08-28T04:09:02.138935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arrayfire/arrayfire"}, {"content_hash": "b298f69a27937945a0a7a32c7aae3ed02876b7eccdaae668d3cb959ea4cf3a6a", "fetched_at": "2026-08-29T09:00:18.004052+00:00", "kind": "homepage", "missing": false, "url": "https://arrayfire.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.138935+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:02.138935+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:08.370114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2c1c6685823828cb60333d3f63b411315f61b628c452de1eb903cf8c6563e020", "fetched_at": "2026-08-28T04:09:02.138935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arrayfire/arrayfire"}, {"content_hash": "b298f69a27937945a0a7a32c7aae3ed02876b7eccdaae668d3cb959ea4cf3a6a", "fetched_at": "2026-08-29T09:00:18.004052+00:00", "kind": "homepage", "missing": false, "url": "https://arrayfire.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:08.370114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2c1c6685823828cb60333d3f63b411315f61b628c452de1eb903cf8c6563e020", "fetched_at": "2026-08-28T04:09:02.138935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arrayfire/arrayfire"}, {"content_hash": "b298f69a27937945a0a7a32c7aae3ed02876b7eccdaae668d3cb959ea4cf3a6a", "fetched_at": "2026-08-29T09:00:18.004052+00:00", "kind": "homepage", "missing": false, "url": "https://arrayfire.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:08.370114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2c1c6685823828cb60333d3f63b411315f61b628c452de1eb903cf8c6563e020", "fetched_at": "2026-08-28T04:09:02.138935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arrayfire/arrayfire"}, {"content_hash": "b298f69a27937945a0a7a32c7aae3ed02876b7eccdaae668d3cb959ea4cf3a6a", "fetched_at": "2026-08-29T09:00:18.004052+00:00", "kind": "homepage", "missing": false, "url": "https://arrayfire.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:08.370114+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2c1c6685823828cb60333d3f63b411315f61b628c452de1eb903cf8c6563e020", "fetched_at": "2026-08-28T04:09:02.138935+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arrayfire/arrayfire"}, {"content_hash": "b298f69a27937945a0a7a32c7aae3ed02876b7eccdaae668d3cb959ea4cf3a6a", "fetched_at": "2026-08-29T09:00:18.004052+00:00", "kind": "homepage", "missing": false, "url": "https://arrayfire.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 71, "longevity": 100, "rhythm": 14}, "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": 4327, "days_push": 179, "days_rel": 362, "gap_med": null, "n_releases_24m": 1}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}