{"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/speed-streaming-partition-and-parallel","title":"SPEED: Streaming Partition and Parallel Acceleration for Temporal Interaction Graph Embedding","arxiv_id":"2308.14129","date":"2023-08-27","proceeding":null,"authors":["Xi Chen","Yongxiang Liao","Yun Xiong","Yao Zhang","Siwei Zhang","Jiawei Zhang","Yiheng Sun"],"abstract":"Temporal Interaction Graphs (TIGs) are widely employed to model intricate real-world systems such as financial systems and social networks. To capture the dynamism and interdependencies of nodes, existing TIG embedding models need to process edges sequentially and chronologically. However, this requirement prevents it from being processed in parallel and struggle to accommodate burgeoning data volumes to GPU. Consequently, many large-scale temporal interaction graphs are confined to CPU processing. Furthermore, a generalized GPU scaling and acceleration approach remains unavailable. To facilitate large-scale TIGs' implementation on GPUs for acceleration, we introduce a novel training approach namely Streaming Edge Partitioning and Parallel Acceleration for Temporal Interaction Graph Embedding (SPEED). The SPEED is comprised of a Streaming Edge Partitioning Component (SEP) which addresses space overhead issue by assigning fewer nodes to each GPU, and a Parallel Acceleration Component (PAC) which enables simultaneous training of different sub-graphs, addressing time overhead issue. Our method can achieve a good balance in computing resources, computing time, and downstream task performance. Empirical validation across 7 real-world datasets demonstrates the potential to expedite training speeds by a factor of up to 19.29x. Simultaneously, resource consumption of a single-GPU can be diminished by up to 69%, thus enabling the multiple GPU-based training and acceleration encompassing millions of nodes and billions of edges. Furthermore, our approach also maintains its competitiveness in downstream tasks.","url_abs":"https://arxiv.org/abs/2308.14129v2","url_pdf":"https://arxiv.org/pdf/2308.14129v2.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":"speed-streaming-partition-and-parallel","repo_url":"https://github.com/chenxi1228/SPEED","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":null,"task_name":"CPU"},{"task_slug":null,"task_name":"GPU"},{"task_slug":"graph-embedding","task_name":"Graph Embedding"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[{"slug":"dgraphfin-tgn-style","name":"DGraphFin (TGN Style)","full_name":""},{"slug":"ml25m-tgn-style","name":"ML25m (TGN Style)","full_name":""},{"slug":"taobao-tgn-style","name":"Taobao (TGN Style)","full_name":""}],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.14129","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.14129"}},"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/chenxi1228/SPEED","reach":{"status":"ok"}}],"summary":{"ran":6,"unverified":2},"by_repo_kind":{"official":{"samples":8,"ran":6,"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":8,"samples":[{"code_sha256_prefix":"8eda959eb9392b75","entry":"divide_nodes","repo":"chenxi1228/SPEED","repo_kind":"official","path":"ddp_train_utils.py","file_url":"https://github.com/chenxi1228/SPEED/blob/HEAD/ddp_train_utils.py","link_basis":"first_harvest_node","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":"8eda959eb9392b75"}},{"code_sha256_prefix":"8162c09f8952d611","entry":"preprocess","repo":"chenxi1228/SPEED","repo_kind":"official","path":"DGraphFin2TGN.py","file_url":"https://github.com/chenxi1228/SPEED/blob/HEAD/DGraphFin2TGN.py","link_basis":"first_harvest_node","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":"8162c09f8952d611"}},{"code_sha256_prefix":"139087cecf99b329","entry":"preprocess","repo":"chenxi1228/SPEED","repo_kind":"official","path":"ML25m2TGN.py","file_url":"https://github.com/chenxi1228/SPEED/blob/HEAD/ML25m2TGN.py","link_basis":"first_harvest_node","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":"139087cecf99b329"}},{"code_sha256_prefix":"ba62e7092051eed6","entry":"preprocess","repo":"chenxi1228/SPEED","repo_kind":"official","path":"Taobao2TGN.py","file_url":"https://github.com/chenxi1228/SPEED/blob/HEAD/Taobao2TGN.py","link_basis":"first_harvest_node","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":"ba62e7092051eed6"}},{"code_sha256_prefix":"996937099be3e2fa","entry":"reduce_value","repo":"chenxi1228/SPEED","repo_kind":"official","path":"ddp_utils.py","file_url":"https://github.com/chenxi1228/SPEED/blob/HEAD/ddp_utils.py","link_basis":"first_harvest_node","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":"996937099be3e2fa"}},{"code_sha256_prefix":"62b060027e2d2009","entry":"reindex","repo":"chenxi1228/SPEED","repo_kind":"official","path":"DGraphFin2TGN.py","file_url":"https://github.com/chenxi1228/SPEED/blob/HEAD/DGraphFin2TGN.py","link_basis":"first_harvest_node","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":"62b060027e2d2009"}},{"code_sha256_prefix":"74bb11b680f73bd3","entry":"check_free_gpus","repo":"chenxi1228/SPEED","repo_kind":"official","path":"train_utils.py","file_url":"https://github.com/chenxi1228/SPEED/blob/HEAD/train_utils.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":"74bb11b680f73bd3"}},{"code_sha256_prefix":"06e1aa58af8f7f4a","entry":"get_logger","repo":"chenxi1228/SPEED","repo_kind":"official","path":"train_utils.py","file_url":"https://github.com/chenxi1228/SPEED/blob/HEAD/train_utils.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":"06e1aa58af8f7f4a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}