{"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/dingo-distributed-newton-type-method-for","title":"DINGO: Distributed Newton-Type Method for Gradient-Norm Optimization","arxiv_id":"1901.05134","date":"2019-01-16","proceeding":"NeurIPS 2019 12","authors":["Rixon Crane","Fred Roosta"],"abstract":"For optimization of a sum of functions in a distributed computing environment, we present a novel communication efficient Newton-type algorithm that enjoys a variety of advantages over similar existing methods. Similar to Newton-MR, our algorithm, DINGO, is derived by optimization of the gradient's norm as a surrogate function. DINGO does not impose any specific form on the underlying functions, and its application range extends far beyond convexity. In addition, the distribution of the data across the computing environment can be arbitrary. Further, the underlying sub-problems of DINGO are simple linear least-squares, for which a plethora of efficient algorithms exist. Lastly, DINGO involves a few hyper-parameters that are easy to tune. Moreover, we theoretically show that DINGO is not sensitive to the choice of its hyper-parameters in that a strict reduction in the gradient norm is guaranteed, regardless of the selected hyper-parameters. We demonstrate empirical evidence of the effectiveness, stability and versatility of our method compared to other relevant algorithms.","url_abs":"https://arxiv.org/abs/1901.05134v2","url_pdf":"https://arxiv.org/pdf/1901.05134v2.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":"dingo-distributed-newton-type-method-for","repo_url":"https://github.com/RixonC/DINGO","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"distributed-computing","task_name":"Distributed Computing"},{"task_slug":"type","task_name":"Vocal Bursts Type Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1901.05134","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1901.05134"}},"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/RixonC/DINGO","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":19},"by_repo_kind":{"official":{"samples":19,"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":"83d9c16e37611d39","entry":"Ax","repo":"RixonC/DINGO","repo_kind":"official","path":"minres_qlp.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/minres_qlp.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":"83d9c16e37611d39"}},{"code_sha256_prefix":"d21487af01879377","entry":"CG","repo":"RixonC/DINGO","repo_kind":"official","path":"cg.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/cg.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":"d21487af01879377"}},{"code_sha256_prefix":"4cac8089e515bce5","entry":"LSMR","repo":"RixonC/DINGO","repo_kind":"official","path":"lsmr.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/lsmr.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":"4cac8089e515bce5"}},{"code_sha256_prefix":"95b0f58fcfa41cac","entry":"Precond","repo":"RixonC/DINGO","repo_kind":"official","path":"minres_qlp.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/minres_qlp.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":"95b0f58fcfa41cac"}},{"code_sha256_prefix":"b2046fce1a7c26a0","entry":"distributed_PCG_algorithm","repo":"RixonC/DINGO","repo_kind":"official","path":"DiSCO.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/DiSCO.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":"b2046fce1a7c26a0"}},{"code_sha256_prefix":"a0ca34c5f4a73d8b","entry":"get_local_line_search_matrix","repo":"RixonC/DINGO","repo_kind":"official","path":"DINGO.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/DINGO.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":"a0ca34c5f4a73d8b"}},{"code_sha256_prefix":"d0d50e8ee368ffc1","entry":"get_local_line_search_matrix","repo":"RixonC/DINGO","repo_kind":"official","path":"DINGO_with_only_case_1.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/DINGO_with_only_case_1.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":"d0d50e8ee368ffc1"}},{"code_sha256_prefix":"d45b190cd1294398","entry":"get_local_line_search_values","repo":"RixonC/DINGO","repo_kind":"official","path":"GIANT.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/GIANT.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":"d45b190cd1294398"}},{"code_sha256_prefix":"2d58dd6bd6825205","entry":"get_model_weights","repo":"RixonC/DINGO","repo_kind":"official","path":"AIDE.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/AIDE.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":"2d58dd6bd6825205"}},{"code_sha256_prefix":"c2c7d1e297cbadcb","entry":"get_new_y_and_new_zeta","repo":"RixonC/DINGO","repo_kind":"official","path":"AIDE.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/AIDE.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":"c2c7d1e297cbadcb"}},{"code_sha256_prefix":"3d413d6939d03a91","entry":"get_update_direction","repo":"RixonC/DINGO","repo_kind":"official","path":"DINGO.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/DINGO.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":"3d413d6939d03a91"}},{"code_sha256_prefix":"c142669863cb0c2c","entry":"get_update_direction","repo":"RixonC/DINGO","repo_kind":"official","path":"DINGO_with_only_case_1.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/DINGO_with_only_case_1.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":"c142669863cb0c2c"}},{"code_sha256_prefix":"ecf4c55475f0e8c4","entry":"get_updated_model","repo":"RixonC/DINGO","repo_kind":"official","path":"DINGO.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/DINGO.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":"ecf4c55475f0e8c4"}},{"code_sha256_prefix":"56db0b4cabde68fe","entry":"get_updated_model","repo":"RixonC/DINGO","repo_kind":"official","path":"DINGO_with_only_case_1.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/DINGO_with_only_case_1.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":"56db0b4cabde68fe"}},{"code_sha256_prefix":"b0d9abbfd044b38b","entry":"get_updated_model","repo":"RixonC/DINGO","repo_kind":"official","path":"DiSCO.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/DiSCO.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":"b0d9abbfd044b38b"}},{"code_sha256_prefix":"9da5748a7cdf1878","entry":"line_search","repo":"RixonC/DINGO","repo_kind":"official","path":"GIANT.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/GIANT.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":"9da5748a7cdf1878"}},{"code_sha256_prefix":"c80b3003bd596b2a","entry":"minresQLP","repo":"RixonC/DINGO","repo_kind":"official","path":"minres_qlp.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/minres_qlp.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":"c80b3003bd596b2a"}},{"code_sha256_prefix":"e9168bd6b6f9f588","entry":"replace_model_weights","repo":"RixonC/DINGO","repo_kind":"official","path":"AIDE.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/AIDE.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":"e9168bd6b6f9f588"}},{"code_sha256_prefix":"dd06bcf31465b9ea","entry":"symOrtho","repo":"RixonC/DINGO","repo_kind":"official","path":"lsmr.py","file_url":"https://github.com/RixonC/DINGO/blob/HEAD/lsmr.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":"dd06bcf31465b9ea"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}