{"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/benchmarking-positional-encodings-for-gnns","title":"Benchmarking Positional Encodings for GNNs and Graph Transformers","arxiv_id":"2411.12732","date":"2024-11-19","proceeding":null,"authors":["Florian Grötschla","Jiaqing Xie","Roger Wattenhofer"],"abstract":"Recent advances in Graph Neural Networks (GNNs) and Graph Transformers (GTs) have been driven by innovations in architectures and Positional Encodings (PEs), which are critical for augmenting node features and capturing graph topology. PEs are essential for GTs, where topological information would otherwise be lost without message-passing. However, PEs are often tested alongside novel architectures, making it difficult to isolate their effect on established models. To address this, we present a comprehensive benchmark of PEs in a unified framework that includes both message-passing GNNs and GTs. We also establish theoretical connections between MPNNs and GTs and introduce a sparsified GRIT attention mechanism to examine the influence of global connectivity. Our findings demonstrate that previously untested combinations of GNN architectures and PEs can outperform existing methods and offer a more comprehensive picture of the state-of-the-art. To support future research and experimentation in our framework, we make the code publicly available.","url_abs":"https://arxiv.org/abs/2411.12732v1","url_pdf":"https://arxiv.org/pdf/2411.12732v1.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":"benchmarking-positional-encodings-for-gnns","repo_url":"https://github.com/ETH-DISCO/Benchmarking-PEs","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"benchmarking","task_name":"Benchmarking"}],"methods":[{"method_slug":"attention","method_name":"Attention"},{"method_slug":"gts","method_name":"GTS"},{"method_slug":"softmax","method_name":"Softmax"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2411.12732","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.12732"}},"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/ETH-DISCO/Benchmarking-PEs","reach":{"status":"ok"}}],"summary":{"ran_draft_wrong":1,"ran":2,"unverified":4},"by_repo_kind":{"official":{"samples":7,"ran":3,"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":7,"samples":[{"code_sha256_prefix":"b888018e8acd3f1d","entry":"get_activation","repo":"ETH-DISCO/Benchmarking-PEs","repo_kind":"official","path":"grit/layer/Exphormer.py","file_url":"https://github.com/ETH-DISCO/Benchmarking-PEs/blob/HEAD/grit/layer/Exphormer.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b888018e8acd3f1d"}},{"code_sha256_prefix":"1bb331bf70a78136","entry":"get_final_pretrained_ckpt","repo":"ETH-DISCO/Benchmarking-PEs","repo_kind":"official","path":"grit/finetuning.py","file_url":"https://github.com/ETH-DISCO/Benchmarking-PEs/blob/HEAD/grit/finetuning.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1bb331bf70a78136"}},{"code_sha256_prefix":"9e4db46ba20af98e","entry":"init_model_from_pretrained","repo":"ETH-DISCO/Benchmarking-PEs","repo_kind":"official","path":"grit/finetuning.py","file_url":"https://github.com/ETH-DISCO/Benchmarking-PEs/blob/HEAD/grit/finetuning.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9e4db46ba20af98e"}},{"code_sha256_prefix":"ae56bcfaae96da3c","entry":"apply_chunking_to_forward","repo":"ETH-DISCO/Benchmarking-PEs","repo_kind":"official","path":"grit/layer/bigbird_layer.py","file_url":"https://github.com/ETH-DISCO/Benchmarking-PEs/blob/HEAD/grit/layer/bigbird_layer.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ae56bcfaae96da3c"}},{"code_sha256_prefix":"086cc22e87a696a3","entry":"full_attention_conv","repo":"ETH-DISCO/Benchmarking-PEs","repo_kind":"official","path":"grit/layer/difformer_layer.py","file_url":"https://github.com/ETH-DISCO/Benchmarking-PEs/blob/HEAD/grit/layer/difformer_layer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"086cc22e87a696a3"}},{"code_sha256_prefix":"ec224788496e1539","entry":"gcn_conv","repo":"ETH-DISCO/Benchmarking-PEs","repo_kind":"official","path":"grit/layer/difformer_layer.py","file_url":"https://github.com/ETH-DISCO/Benchmarking-PEs/blob/HEAD/grit/layer/difformer_layer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ec224788496e1539"}},{"code_sha256_prefix":"91c1f5bb90bbe0f3","entry":"load_pretrained_model_cfg","repo":"ETH-DISCO/Benchmarking-PEs","repo_kind":"official","path":"grit/finetuning.py","file_url":"https://github.com/ETH-DISCO/Benchmarking-PEs/blob/HEAD/grit/finetuning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"91c1f5bb90bbe0f3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}