{"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/openarray-v1-0-a-simple-operator-library-for","title":"OpenArray v1.0: a simple operator library for the decoupling of ocean modeling and parallel computing","arxiv_id":null,"date":"2019-11-11","proceeding":"Geoscientific Model Development 2019 11","authors":["Xiaomeng Huang","Xing Huang","Dong Wang","Qi Wu","Yi Li","Shixun Zhang","YuWen Chen","Mingqing Wang","Yuan Gao","Qiang Tang","Yue Chen","Zheng Fang","Zhenya Song","Guangwen Yang"],"abstract":"Rapidly evolving computational techniques are making a large gap between scientific aspiration and code implementation in climate modeling. In this work, we design a simple computing library to bridge the gap and decouple the work of ocean modeling from parallel computing. This library provides 12 basic operators that feature user-friendly interfaces, effective programming, and implicit parallelism. Several state-of-the-art computing techniques, including computing graph and just-in-time compiling, are employed to parallelize the seemingly serial code and speed up the ocean models. These operator interfaces are designed using native Fortran programming language to smooth the learning curve. We further implement a highly readable and efficient ocean model that contains only 1860 lines of code but achieves a 91 % parallel efficiency in strong scaling and 99 % parallel efficiency in weak scaling with 4096 Intel CPU cores. This ocean model also exhibits excellent scalability on the heterogeneous Sunway TaihuLight supercomputer. This work presents a promising alternative tool for the development of ocean models.","url_abs":"https://gmd.copernicus.org/articles/12/4729/2019/gmd-12-4729-2019.html","url_pdf":"https://gmd.copernicus.org/articles/12/4729/2019/gmd-12-4729-2019.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":"openarray-v1-0-a-simple-operator-library-for","repo_url":"https://github.com/mindspore-ai/models","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":null,"task_name":"CPU"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}