{"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/layerdag-a-layerwise-autoregressive-diffusion","title":"LayerDAG: A Layerwise Autoregressive Diffusion Model for Directed Acyclic Graph Generation","arxiv_id":"2411.02322","date":"2024-11-04","proceeding":null,"authors":["Mufei Li","Viraj Shitole","Eli Chien","Changhai Man","Zhaodong Wang","Srinivas Sridharan","Ying Zhang","Tushar Krishna","Pan Li"],"abstract":"Directed acyclic graphs (DAGs) serve as crucial data representations in domains such as hardware synthesis and compiler/program optimization for computing systems. DAG generative models facilitate the creation of synthetic DAGs, which can be used for benchmarking computing systems while preserving intellectual property. However, generating realistic DAGs is challenging due to their inherent directional and logical dependencies. This paper introduces LayerDAG, an autoregressive diffusion model, to address these challenges. LayerDAG decouples the strong node dependencies into manageable units that can be processed sequentially. By interpreting the partial order of nodes as a sequence of bipartite graphs, LayerDAG leverages autoregressive generation to model directional dependencies and employs diffusion models to capture logical dependencies within each bipartite graph. Comparative analyses demonstrate that LayerDAG outperforms existing DAG generative models in both expressiveness and generalization, particularly for generating large-scale DAGs with up to 400 nodes-a critical scenario for system benchmarking. Extensive experiments on both synthetic and real-world flow graphs from various computing platforms show that LayerDAG generates valid DAGs with superior statistical properties and benchmarking performance. The synthetic DAGs generated by LayerDAG enhance the training of ML-based surrogate models, resulting in improved accuracy in predicting performance metrics of real-world DAGs across diverse computing platforms.","url_abs":"https://arxiv.org/abs/2411.02322v2","url_pdf":"https://arxiv.org/pdf/2411.02322v2.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":"layerdag-a-layerwise-autoregressive-diffusion","repo_url":"https://github.com/graph-com/layerdag","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"benchmarking","task_name":"Benchmarking"},{"task_slug":"graph-generation","task_name":"Graph Generation"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2411.02322","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.02322"}},"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":"deterministic:regex_extraction","url":"https://github.com/Graph-COM/LayerDAG","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/graph-com/layerdag","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":6},"by_repo_kind":{"official":{"samples":6,"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":"27319bb0981452fb","entry":"collate_common","repo":"Graph-COM/LayerDAG","repo_kind":"official","path":"src/dataset/layer_dag.py","file_url":"https://github.com/Graph-COM/LayerDAG/blob/HEAD/src/dataset/layer_dag.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"27319bb0981452fb"}},{"code_sha256_prefix":"90d42e86447a074b","entry":"collate_fn","repo":"Graph-COM/LayerDAG","repo_kind":"official","path":"src/eval/discriminator/data_utils.py","file_url":"https://github.com/Graph-COM/LayerDAG/blob/HEAD/src/eval/discriminator/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"90d42e86447a074b"}},{"code_sha256_prefix":"4ad453dd726c4d73","entry":"collate_node_count","repo":"Graph-COM/LayerDAG","repo_kind":"official","path":"src/dataset/layer_dag.py","file_url":"https://github.com/Graph-COM/LayerDAG/blob/HEAD/src/dataset/layer_dag.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4ad453dd726c4d73"}},{"code_sha256_prefix":"ee2dd78c575b65e0","entry":"collate_node_pred","repo":"Graph-COM/LayerDAG","repo_kind":"official","path":"src/dataset/layer_dag.py","file_url":"https://github.com/Graph-COM/LayerDAG/blob/HEAD/src/dataset/layer_dag.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"ee2dd78c575b65e0"}},{"code_sha256_prefix":"3a54c41960ac921e","entry":"load_yaml","repo":"Graph-COM/LayerDAG","repo_kind":"official","path":"setup_utils.py","file_url":"https://github.com/Graph-COM/LayerDAG/blob/HEAD/setup_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3a54c41960ac921e"}},{"code_sha256_prefix":"d576b3a5bc3c105c","entry":"to_dag_dataset","repo":"Graph-COM/LayerDAG","repo_kind":"official","path":"src/dataset/tpu_tile.py","file_url":"https://github.com/Graph-COM/LayerDAG/blob/HEAD/src/dataset/tpu_tile.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d576b3a5bc3c105c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}