{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/gpytorch-blackbox-matrix-matrix-gaussian","title":"GPyTorch: Blackbox Matrix-Matrix Gaussian Process Inference with GPU Acceleration","arxiv_id":"1809.11165","date":"2018-09-28","proceeding":"NeurIPS 2018 12","authors":["Jacob R. Gardner","Geoff Pleiss","David Bindel","Kilian Q. Weinberger","Andrew Gordon Wilson"],"abstract":"Despite advances in scalable models, the inference tools used for Gaussian processes (GPs) have yet to fully capitalize on developments in computing hardware. We present an efficient and general approach to GP inference based on Blackbox Matrix-Matrix multiplication (BBMM). BBMM inference uses a modified batched version of the conjugate gradients algorithm to derive all terms for training and inference in a single call. BBMM reduces the asymptotic complexity of exact GP inference from $O(n^3)$ to $O(n^2)$. Adapting this algorithm to scalable approximations and complex GP models simply requires a routine for efficient matrix-matrix multiplication with the kernel and its derivative. In addition, BBMM uses a specialized preconditioner to substantially speed up convergence. In experiments we show that BBMM effectively uses GPU hardware to dramatically accelerate both exact GP inference and scalable approximations. Additionally, we provide GPyTorch, a software platform for scalable GP inference via BBMM, built on PyTorch.","url_abs":"https://arxiv.org/abs/1809.11165v6","url_pdf":"https://arxiv.org/pdf/1809.11165v6.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"gpytorch-blackbox-matrix-matrix-gaussian","repo_url":"https://github.com/cornellius-gp/gpytorch","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"gpytorch-blackbox-matrix-matrix-gaussian","repo_url":"https://github.com/3springs/np_vs_kriging","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"gpytorch-blackbox-matrix-matrix-gaussian","repo_url":"https://github.com/susyustc/bbmm","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null},{"paper_slug":"gpytorch-blackbox-matrix-matrix-gaussian","repo_url":"https://github.com/susyustc/kagpr","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":null,"task_name":"GPU"},{"task_slug":"gaussian-processes","task_name":"Gaussian Processes"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1809.11165","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1809.11165"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cornellius-gp/gpytorch","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/susyustc/bbmm","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/3springs/np_vs_kriging","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/susyustc/kagpr","reach":{"status":"ok"}}],"summary":{"ran_fixture":2},"by_repo_kind":{"listed":{"samples":2,"ran":2,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":2,"samples":[{"code_sha256_prefix":"cdddd438da3e4724","entry":"get_tridiagonal_matrix","repo":"susyustc/bbmm","repo_kind":"listed","path":"BBMM/regression/bbmm.py","file_url":"https://github.com/susyustc/bbmm/blob/HEAD/BBMM/regression/bbmm.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cdddd438da3e4724"}},{"code_sha256_prefix":"88a7439cd99e4523","entry":"get_tridiagonal_matrix_log","repo":"susyustc/bbmm","repo_kind":"listed","path":"BBMM/regression/bbmm.py","file_url":"https://github.com/susyustc/bbmm/blob/HEAD/BBMM/regression/bbmm.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"88a7439cd99e4523"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}