{"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/gnnautoscale-scalable-and-expressive-graph","title":"GNNAutoScale: Scalable and Expressive Graph Neural Networks via Historical Embeddings","arxiv_id":"2106.05609","date":"2021-06-10","proceeding":null,"authors":["Matthias Fey","Jan E. Lenssen","Frank Weichert","Jure Leskovec"],"abstract":"We present GNNAutoScale (GAS), a framework for scaling arbitrary message-passing GNNs to large graphs. GAS prunes entire sub-trees of the computation graph by utilizing historical embeddings from prior training iterations, leading to constant GPU memory consumption in respect to input node size without dropping any data. While existing solutions weaken the expressive power of message passing due to sub-sampling of edges or non-trainable propagations, our approach is provably able to maintain the expressive power of the original GNN. We achieve this by providing approximation error bounds of historical embeddings and show how to tighten them in practice. Empirically, we show that the practical realization of our framework, PyGAS, an easy-to-use extension for PyTorch Geometric, is both fast and memory-efficient, learns expressive node representations, closely resembles the performance of their non-scaling counterparts, and reaches state-of-the-art performance on large-scale graphs.","url_abs":"https://arxiv.org/abs/2106.05609v1","url_pdf":"https://arxiv.org/pdf/2106.05609v1.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":"gnnautoscale-scalable-and-expressive-graph","repo_url":"https://github.com/rusty1s/pyg_autoscale","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"gnnautoscale-scalable-and-expressive-graph","repo_url":"https://github.com/warai-0toko/dspar_tmlr","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":null,"task_name":"GPU"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2106.05609","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.05609"}},"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/rusty1s/pyg_autoscale","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/warai-0toko/dspar_tmlr","reach":{"status":"ok"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"c380adeca84dc3ea","entry":"get_coauthor","repo":"rusty1s/pyg_autoscale","repo_kind":"official","path":"torch_geometric_autoscale/data.py","file_url":"https://github.com/rusty1s/pyg_autoscale/blob/HEAD/torch_geometric_autoscale/data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c380adeca84dc3ea"}},{"code_sha256_prefix":"40ce1e9e348c526a","entry":"get_planetoid","repo":"rusty1s/pyg_autoscale","repo_kind":"official","path":"torch_geometric_autoscale/data.py","file_url":"https://github.com/rusty1s/pyg_autoscale/blob/HEAD/torch_geometric_autoscale/data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"40ce1e9e348c526a"}},{"code_sha256_prefix":"96784df546dd2b56","entry":"get_wikics","repo":"rusty1s/pyg_autoscale","repo_kind":"official","path":"torch_geometric_autoscale/data.py","file_url":"https://github.com/rusty1s/pyg_autoscale/blob/HEAD/torch_geometric_autoscale/data.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"96784df546dd2b56"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}