{
  "_id": "6ad29b496814ce853b657a14",
  "Package": "gputools",
  "Version": "2.1.0",
  "Title": "GPU Drop-Ins for Statistics on Wide Data",
  "Authors@R": "c(person(\"Josh\", \"Buckner\", email = \"nullsatz@gmail.com\",\nrole = c(\"aut\", \"cre\")),\nperson(\"Mark\", \"Seligman\", email = \"mseligman@suiji.org\", role = \"aut\"),\nperson(\"Fan\", \"Meng\", email = \"mengf@umich.edu\", role = \"aut\"),\nperson(\"Justin\", \"Wilson\", role = \"ctb\"))",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "SystemRequirements": "NVIDIA CUDA toolkit (>= 11.7); an NVIDIA GPU to run\nthe GPU functions",
  "Description": "GPU versions of base R statistics for data with many\nvariables, using the NVIDIA 'CUDA' toolkit: correlation\nmatrices (Pearson, Spearman and Kendall) and their tests, the\nstrongest correlated pairs among tens of thousands of variables\nwithout forming the matrix, association scans with covariates\nas in expression quantitative trait loci studies (Shabalin 2012\n<doi:10.1093/bioinformatics/bts163>), permutation tests with\nWestfall-Young maxT adjustment, distance matrices, hierarchical\nand k-means clustering, Granger causality tests, B-spline\nmutual information, principal components, and least-squares\nfits. Results agree with the base R functions they replace.\nWithout 'CUDA' the package installs, and its functions explain\nhow to get a 'CUDA' build. Described in Buckner et al. (2010)\n<doi:10.1093/bioinformatics/btp608>.",
  "License": "GPL-3",
  "URL": "https://nullsatz.github.io/gputools/,\nhttps://github.com/nullsatz/gputools",
  "BugReports": "https://github.com/nullsatz/gputools/issues",
  "Config/pak/sysreqs": "nvidia-cuda-dev",
  "Repository": "https://nullsatz.r-universe.dev",
  "Date/Publication": "2026-10-16 20:33:08 UTC",
  "RemoteUrl": "https://github.com/nullsatz/gputools",
  "RemoteRef": "HEAD",
  "RemoteSha": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-10-16 21:35:54 UTC",
    "User": "root"
  },
  "Author": "Josh Buckner [aut, cre],\nMark Seligman [aut],\nFan Meng [aut],\nJustin Wilson [ctb]",
  "Maintainer": "Josh Buckner <nullsatz@gmail.com>",
  "_user": "nullsatz",
  "_type": "src",
  "_file": "gputools_2.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/381f6210856f3d07bd3887999eac86c23edbcd293878112c9cae2d58c5a8f2c4",
  "_filesize": 800568,
  "_sha256": "381f6210856f3d07bd3887999eac86c23edbcd293878112c9cae2d58c5a8f2c4",
  "_expires": "2027-01-24T21:46:47.000Z",
  "_created": "2026-10-16T21:35:54.000Z",
  "_published": "2026-10-16T21:46:49.493Z",
  "_buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 117207356452,
      "time": 235,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12077055853"
    },
    {
      "job": 117207356473,
      "time": 209,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12076233263"
    },
    {
      "job": 117207356453,
      "time": 224,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12077225575"
    },
    {
      "job": 117207356508,
      "time": 252,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12076602233"
    },
    {
      "job": 117207356632,
      "time": 102,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12076483207"
    },
    {
      "job": 117207356596,
      "time": 283,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12077715637"
    },
    {
      "job": 117207356729,
      "time": 114,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12077755404"
    },
    {
      "job": 117207356606,
      "time": 275,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12076702381"
    },
    {
      "job": 117205403516,
      "time": 317,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12076089639"
    },
    {
      "job": 117207356481,
      "time": 115,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12076462721"
    },
    {
      "job": 117207356845,
      "time": 198,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12076338338"
    },
    {
      "job": 117207356727,
      "time": 122,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12076253064"
    },
    {
      "job": 117207356601,
      "time": 90,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12076761142"
    },
    {
      "job": 117207356755,
      "time": 203,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12076836338"
    },
    {
      "job": 117207356626,
      "time": 82,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12077525030"
    }
  ],
  "_upstream": "https://github.com/nullsatz/gputools",
  "_commit": {
    "id": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
    "author": "Josh Buckner <nullsatz@gmail.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #51 from nullsatz/pkgdown-site\n\nDocumentation site with pkgdown on GitHub Pages",
    "time": 1792182788
  },
  "_maintainer": {
    "name": "Josh Buckner",
    "email": "nullsatz@gmail.com",
    "login": "nullsatz",
    "description": "",
    "uuid": 2879874
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.0.0",
      "role": "Depends"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "nullsatz",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-42",
      "n": 24
    }
  ],
  "_tags": [],
  "_stars": 70,
  "_contributors": [
    {
      "user": "bucknerj",
      "count": 121,
      "uuid": 70401258
    },
    {
      "user": "nullsatz",
      "count": 47,
      "uuid": 2879874
    },
    {
      "user": "leichtle",
      "count": 1,
      "uuid": 18482082
    },
    {
      "user": "1burhanuddin",
      "count": 1,
      "uuid": 118541489
    }
  ],
  "_userbio": {
    "uuid": 2879874,
    "type": "user",
    "name": "Josh Buckner",
    "followers": 15
  },
  "_downloads": {
    "count": 87,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/gputools"
  },
  "_devurl": "https://github.com/nullsatz/gputools",
  "_pkgdown": "https://nullsatz.github.io/gputools/",
  "_searchresults": 68,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/gputools.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1-0",
      "date": "2009-04-19"
    },
    {
      "version": "0.1-1",
      "date": "2009-06-25"
    },
    {
      "version": "0.1-3",
      "date": "2009-09-03"
    },
    {
      "version": "0.2",
      "date": "2010-04-05"
    },
    {
      "version": "0.21",
      "date": "2010-05-25"
    },
    {
      "version": "0.23",
      "date": "2011-01-19"
    },
    {
      "version": "0.24",
      "date": "2011-03-16"
    },
    {
      "version": "0.25",
      "date": "2011-10-04"
    },
    {
      "version": "0.26",
      "date": "2011-11-03"
    },
    {
      "version": "0.27",
      "date": "2013-04-04"
    },
    {
      "version": "0.28",
      "date": "2013-05-09"
    },
    {
      "version": "1.0",
      "date": "2015-11-11"
    },
    {
      "version": "1.1",
      "date": "2016-10-26"
    }
  ],
  "_exports": [
    "chooseGpu",
    "cpuMatMult",
    "getGpuId",
    "gpuAssoc",
    "gpuAvailable",
    "gpuCor",
    "gpuCorPairs",
    "gpuCorPerm",
    "gpuCrossprod",
    "gpuDist",
    "gpuDistClust",
    "gpuGlm",
    "gpuGlm.fit",
    "gpuGranger",
    "gpuHclust",
    "gpuKmeans",
    "gpuLm",
    "gpuLm.fit",
    "gpuLsfit",
    "gpuMatMult",
    "gpuMi",
    "gpuPrcomp",
    "gpuQr",
    "gpuRowTtest",
    "gpuSolve",
    "gpuSvd",
    "gpuTcrossprod",
    "gpuTtest"
  ],
  "_help": [
    {
      "page": "chooseGpu",
      "title": "Choose which GPU device to use",
      "topics": [
        "chooseGpu"
      ]
    },
    {
      "page": "cpuMatMult",
      "title": "Perform Matrix Multiplication",
      "topics": [
        "cpuMatMult"
      ]
    },
    {
      "page": "getGpuId",
      "title": "Discover the Id of the current GPU device",
      "topics": [
        "getGpuId"
      ]
    },
    {
      "page": "gpuAssoc",
      "title": "Association Scan: Every Column of x Against Every Column of y, With a GPU",
      "topics": [
        "gpuAssoc"
      ]
    },
    {
      "page": "gpuAvailable",
      "title": "Is a CUDA Device Usable?",
      "topics": [
        "gpuAvailable"
      ]
    },
    {
      "page": "gpuCor",
      "title": "Calculate Various Correlation Coefficients With a GPU",
      "topics": [
        "gpuCor"
      ]
    },
    {
      "page": "gpuCorPairs",
      "title": "The Strongest Correlations Among Many Variables, With a GPU",
      "topics": [
        "gpuCorPairs"
      ]
    },
    {
      "page": "gpuCorPerm",
      "title": "Permutation Tests of Correlations, With a GPU",
      "topics": [
        "gpuCorPerm"
      ]
    },
    {
      "page": "gpuCrossprod",
      "title": "Perform Matrix Cross-product with a GPU",
      "topics": [
        "gpuCrossprod"
      ]
    },
    {
      "page": "gpuDist",
      "title": "Compute Distances Between Vectors on a GPU",
      "topics": [
        "gpuDist"
      ]
    },
    {
      "page": "gpuDistClust",
      "title": "Compute Distances and Hierarchical Clustering for Vectors on a GPU",
      "topics": [
        "gpuDistClust"
      ]
    },
    {
      "page": "gpuGlm",
      "title": "Fitting generalized linear models using GPU-enabled QR decomposition",
      "topics": [
        "gpuGlm",
        "gpuGlm.fit"
      ]
    },
    {
      "page": "gpuGranger",
      "title": "Perform Granger Causality Tests for Vectors on a GPU",
      "topics": [
        "gpuGranger"
      ]
    },
    {
      "page": "gpuHclust",
      "title": "Perform Hierarchical Clustering for Vectors with a GPU",
      "topics": [
        "gpuHclust"
      ]
    },
    {
      "page": "gpuKmeans",
      "title": "K-Means Clustering With a GPU",
      "topics": [
        "gpuKmeans"
      ]
    },
    {
      "page": "gpuLm",
      "title": "Fitting Linear Models using a GPU-enabled QR",
      "concept": [
        "regression"
      ],
      "topics": [
        "gpuLm"
      ]
    },
    {
      "page": "gpuLm.defaultTol",
      "title": "Function to switch tolerance depending on precision",
      "topics": [
        "gpuLm.defaultTol"
      ]
    },
    {
      "page": "gpuLm.fit",
      "title": "Fitter functions for gpu enabled linear models",
      "topics": [
        "gpuLm.fit"
      ]
    },
    {
      "page": "gpuLsfit",
      "title": "Least squares fit using GPU-enabled QR decomposition",
      "topics": [
        "gpuLsfit"
      ]
    },
    {
      "page": "gpuMatMult",
      "title": "Perform Matrix Multiplication with a GPU",
      "topics": [
        "gpuMatMult"
      ]
    },
    {
      "page": "gpuMi",
      "title": "B spline based mutual information",
      "topics": [
        "gpuMi"
      ]
    },
    {
      "page": "gpuPrcomp",
      "title": "Principal Components Analysis on a GPU",
      "topics": [
        "gpuPrcomp"
      ]
    },
    {
      "page": "gpuQr",
      "title": "Estimate the QR decomposition for a matrix",
      "topics": [
        "gpuQr"
      ]
    },
    {
      "page": "gpuRowTtest",
      "title": "Two-Group t Tests of Every Row, With Permutation p-Values on a GPU",
      "topics": [
        "gpuRowTtest"
      ]
    },
    {
      "page": "gpuSolve",
      "title": "Estimate the solution to a matrix vector equation",
      "topics": [
        "gpuSolve"
      ]
    },
    {
      "page": "gpuSvd",
      "title": "Singular Value Decomposition on a GPU",
      "topics": [
        "gpuSvd"
      ]
    },
    {
      "page": "gpuTcrossprod",
      "title": "Perform Matrix Transposed Cross-product with a GPU",
      "topics": [
        "gpuTcrossprod"
      ]
    },
    {
      "page": "gpuTtest",
      "title": "T-Test Estimator with a GPU",
      "topics": [
        "gpuTtest"
      ]
    }
  ],
  "_readme": "https://github.com/nullsatz/gputools/raw/HEAD/README.md",
  "_rundeps": [],
  "_vignettes": [
    {
      "source": "benchmarks.Rmd",
      "filename": "benchmarks.html",
      "title": "gputools against base R: measured timings",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The machine",
        "Results",
        "Reading the results",
        "When the GPU pays off",
        "Calling it well",
        "Wide data: the strongest pairs",
        "Association scans",
        "K-means",
        "Permutation tests",
        "Your own hardware"
      ],
      "created": "2026-10-14 18:35:48",
      "modified": "2026-10-15 17:55:02",
      "commits": 6
    }
  ],
  "_score": 5.853698211776175,
  "_indexed": true,
  "_nocasepkg": "gputools",
  "_universes": [
    "nullsatz"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.1.0",
      "date": "2026-10-16T21:39:53.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/35908227db966122cf35cf39b863cd5d9fc8bfe565eb167a4964c1dd7da14b29",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "2.1.0",
      "date": "2026-10-16T21:39:25.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/e0589010c36dc79cc7a684bd5afd3015b1dd942007e8026e9621b3b97bf53fb3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "2.1.0",
      "date": "2026-10-16T21:39:45.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/1a16a0eb984456692c7d7d686238f9d028cbd53e6aa585f38376315418a2dc68",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "2.1.0",
      "date": "2026-10-16T21:40:07.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/a1c52df4a8c6d8f31bbc2f4c6c6f2e59fb134d1e0351e4d48971ee138bf693a9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.1.0",
      "date": "2026-10-16T21:46:13.000Z",
      "arch": "aarch64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/08b975f080a2c10f15c95322372ce6f1501c0c419cea1283001393ef63fdf1d0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "2.1.0",
      "date": "2026-10-16T21:41:38.000Z",
      "arch": "x86_64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/f5a1dd0a8dfd0fb545602b57804a3b89697d74431682f036770fdd20f2ab73a9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "2.1.0",
      "date": "2026-10-16T21:43:15.000Z",
      "arch": "aarch64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/2dc7dac04ee405751d1d63a3eb632aded936f250831b428c918af447e77967b9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "2.1.0",
      "date": "2026-10-16T21:43:45.000Z",
      "arch": "x86_64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/0aa5abe97f05e89f312e138286daa0be9e542fc2e4914ba8c82d0f0286cfaa3b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "2.1.0",
      "date": "2026-10-16T21:38:07.000Z",
      "arch": "emscripten",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/b95e79321b3943d030842ae12b8a102c9cb44f87e9de08c91dfdf368627857f3",
      "status": "success",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2.1.0",
      "date": "2026-10-16T21:38:58.000Z",
      "arch": "aarch64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/8e61e9ff288065fd607f0b478c2bb2336f8c669f0979bd2b9c07498000889c68",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "2.1.0",
      "date": "2026-10-16T21:37:01.000Z",
      "arch": "x86_64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/fb54229203a2b39feb43335c1b9d283a949ff50706f46e3cb280fecef0c13b76",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "2.1.0",
      "date": "2026-10-16T21:37:11.000Z",
      "arch": "x86_64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/0200bd9099345501bab555dfee815a68cc7157be4cc4bf7e34d9dda42ee24abb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "2.1.0",
      "date": "2026-10-16T21:39:06.000Z",
      "arch": "aarch64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/943dfc977931872e6cc2bf567686ccc15e154169526d51c794d77f01516cb327",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "2.1.0",
      "date": "2026-10-16T21:37:02.000Z",
      "arch": "x86_64",
      "commit": "b5447d29a8c806e8c2442bd98191a0fa4519f8df",
      "fileid": "https://r2.ropensci.org/9d7af1892df9c2306095984e4522a4ba9e67df1e41b1f7f083c2f26e86bf32c9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/nullsatz/actions/runs/38969867240"
    }
  ]
}