Draft:XSDK: Extreme-scale Scientific Software Development Kit
Submission declined on 7 April 2024 by Ldm1954 (talk). This submission appears to read more like an advertisement than an entry in an encyclopedia. Encyclopedia articles need to be written from a neutral point of view, and should refer to a range of independent, reliable, published sources, not just to materials produced by the creator of the subject being discussed. This is important so that the article can meet Wikipedia's verifiability policy and the notability of the subject can be established. If you still feel that this subject is worthy of inclusion in Wikipedia, please rewrite your submission to comply with these policies.
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
|
Submission declined on 6 December 2023 by Stuartyeates (talk). This draft's references do not show that the subject qualifies for a Wikipedia article. In summary, the draft needs multiple published sources that are: Declined by Stuartyeates 9 months ago.
|
Submission declined on 29 November 2023 by Greenman (talk). This submission is not adequately supported by reliable sources. Reliable sources are required so that information can be verified. If you need help with referencing, please see Referencing for beginners and Citing sources. This submission does not appear to be written in the formal tone expected of an encyclopedia article. Entries should be written from a neutral point of view, and should refer to a range of independent, reliable, published sources. Please rewrite your submission in a more encyclopedic format. Please make sure to avoid peacock terms that promote the subject. Declined by Greenman 9 months ago. |
- Comment: Resubmitting without taking into account the comments does not help; there are no substantive differences between this version and prior ones. It needs to be rewritten, focusing upon facts (not claims), all of which need to be documented. For instance, include details of all partners with (independent) sources to demonstrate their involvement. You have to demonstrate that others consider this initiative noteworthy by their words and actions. Ldm1954 (talk) 03:23, 7 April 2024 (UTC)
- Comment: None of the independent sources appear to actually discuss this topic. Stuartyeates (talk) 03:39, 6 December 2023 (UTC)
- Comment: See WP:COI. References need to verify statements made, for example "The xSDK's testing is currently conducted using Gitlab CI" cannot just use GitLab documentation, with no mention of the subject, as a source. Greenman (talk) 11:07, 29 November 2023 (UTC)
- Comment: Use "straight quotes" not “curly quotes” and logical quotes. Use automatic Wiki referencing, not hard-coded [1] [2] [3]. —Anomalocaris (talk) 02:03, 20 June 2023 (UTC)
The xSDK, or Extreme-Scale Scientific Software Development Kit, is a collection of software components, tools, and policies. It facilitates the development of scientific packages by integrating interconnected software components from various independent groups in the high-performance computing community.[1] To qualify as an xSDK member, a software package must adhere to community policies and demonstrate interoperability with other xSDK libraries.[2] The initial release in April 2016 demonstrated the importance of community guidelines in enabling the use and transferability of independently developed software packages. The most recent xSDK release includes 26 mathematical libraries, such as PETSc,[3] Trilinos,[4] and SuperLU,[5] forming a foundation for addressing software interoperability and performance portability challenges.[6] The xSDK aims to achieve a framework that promotes collaboration among diverse teams in the high-performance computing community. By providing interconnected and mutually supportive software components, the xSDK may serve as a building block for application development.[7] Overall, the xSDK aims to establish a software ecosystem that can be installed on popular computing platforms. Its goal is also to initiate a scalable scientific software ecosystem.[6]
Key features
[edit]The xSDK, a scientific computing initiative, possesses two features. Firstly, it adopts a peer-to-peer interoperability approach, utilizing libraries to access functionalities across different packages, which facilitates the integration of packages while preserving the existing code structures. Secondly, the xSDK implements software policies that foster compatibility and complementarity among independently developed packages. These policies establish expectations for design, implementation, documentation, support, and installation, allowing separate package development while ensuring their combination and effectiveness. XSDK libraries also possess capabilities to interact with and modify preexisting data objects that were independently constructed using their own creation procedures.[7]
Interoperability
[edit]The xSDK's interoperability offers a software suite and associated policies focusing on versatility, reliability, and cost-effectiveness.[8] At the core of this interoperability is the utilization of Spack,[9] an adaptable package manager that facilitates support for multiple versions, configurations, compilers, and platforms. By leveraging Spack, the xSDK automates the determination of dependencies between packages using scripts provided by library developers, resulting in a building process for complex application codes.[2] In addition, the xSDK provides level 1 interoperability across all xSDK libraries by providing a build script, testing environment, and a set of community policies, guaranteeing collaboration and compatibility for users.[10]
Testing
[edit]The xSDK's testing is currently conducted using Gitlab CI,[11] ensuring testing across various platforms. Efforts are underway to enhance the testing capabilities by introducing new tests and additional layers of testing. One such improvement involves testing a subset of xSDK packages to facilitate the identification of potential issues. The main purpose of CI testing is to ensure the stability of the current release version of the xSDK. However, an important secondary benefit is the ability to test with development versions of different libraries, including those with CUDA[12] or OpenMP[13] capabilities, particularly on systems equipped with GPUs[14] or multicore nodes.[2]
Community policies
[edit]The xSDK, upon its initial release, introduced a set of community policies aimed at enhancing the usability, adaptability, and durability of software packages. These policies specifically tackled the hurdles associated with software interoperability and performance portability. Being xSDK compatible results in integration with other packages, facilitating a cohesive software environment. Moreover, the community installation policies established by xSDK assist in the configuration and installation procedures across diverse platforms. Through the implementation of these policies, xSDK fosters long-term sustainability and promotes interoperability among packages, forming a foundation for complex applications.[7]
Scientific applications
[edit]The xSDK's scientific applications encompass diverse research areas, including surface and subsurface hydrology. Scientists at the Department of Energy utilize software tools like Amanzi[15]]/ATS,[16] CrunchFlow,[17] ParFlow,[18] and PFLOTRAN,[19] along with xSDK numerical libraries such as hypre,[20] PETSc, SuperLU, and Trilinos. They also incorporate Alquimia,[21] a specialized xSDK package, to enhance biogeochemical functionality. These efforts contribute to the development of models for hydrological processes. One application of the xSDK is forecasting the impact of climate change on the Upper Colorado River System. Biogeochemistry models driven by genomic data are integrated with high-resolution hydrology models to understand carbon and nutrient cycles. Stream meanders in the floodplain and the exchange of water between streams and groundwater (hyporheic exchange) significantly affect these cycles. The interconnectedness of groundwater, land surface, and atmospheric feedback is also considered, leading to ongoing studies on ultra-high-resolution integrated hydrology models on regional and continental scales. These models are linked to terrestrial process models and atmospheric models to capture the complexity of the hydrological system.[6]
Future initiatives
[edit]The xSDK project has been expanding its compatibility to include all ECP[22]-funded library efforts, such as SUNDIALS[23]] and Magma,[24] while addressing performance challenges in exascale computing platforms. Efforts to refine community policies and develop domain component collections tailored to specific communities are underway, enhancing interoperability among scientific libraries. Additionally, xSDK is exploring the use of community installation tools like Spack to ensure reliable installation of its libraries. The project aims to develop interfaces for transfer of computational resources between applications and libraries, optimizing performance in top-level MPI processes.[6] In the future, xSDK plans to adapt its community policies to meet community needs and include appropriate packages into its framework. Testing will ensure reliable build and execution, while additional interoperability layers and new example codes will promote collaboration and interoperability between libraries. Specialized xSDK builds with features like CUDA or OpenMP capabilities will be developed to cater to systems equipped with GPUs or multicore nodes. These initiatives will foster collaboration within the scientific computing community.[2]
See also
[edit]Exascale Computing Project (ECP)
References
[edit]- ^ Heroux, Michael (22 May 2023). "Scientific Software Ecosystems" (PDF). CSBSJU.
- ^ a b c d Yang, U.M.; Balos, C.; Luszczek, P.; Osborn, S.; Willenbring, J. (22 May 2023). "Challenges of and Opportunities for a Large Diverse Software Team" (PDF). GitHub.
- ^ "PETSc 3.20 — PETSc 3.20.1 documentation". petsc.org. Retrieved 2023-11-29.
- ^ "Trilinos Home Page | Trilinos". trilinos.github.io. Retrieved 2023-11-29.
- ^ "SuperLU: Home Page". portal.nersc.gov. Retrieved 2023-11-29.
- ^ a b c d "xSDK". Retrieved 2023-11-29.
- ^ a b c Bartlett, Roscoe; Demeshko, Irina; Gamblin, Todd; Hammond, Glenn; Heroux, Michael; Johnson, Jeffrey; Klinvex, Alicia; Li, Xiaoye; McInnes, Lois Curfman (2017-02-27). "xSDK Foundations: Toward an Extreme-scale Scientific Software Development Kit". arXiv:1702.08425v1 [cs.MS].
- ^ "The Exascale Software Portfolio". str.llnl.gov. Retrieved 2023-11-29.
- ^ "Spack". Spack. Retrieved 2023-11-29.
- ^ "What are Interoperable Software Libraries? Introducing the xSDK". bssw.io. Retrieved 2023-11-29.
- ^ "Get started with GitLab CI/CD | GitLab". docs.gitlab.com. Retrieved 2023-11-29.
- ^ "CUDA Zone - Library of Resources". NVIDIA Developer. Retrieved 2023-11-29.
- ^ tim.lewis. "Home". OpenMP. Retrieved 2023-11-29.
- ^ "Graphics Processor Unit (GPU) | What, Type, How & Definition". 2020-06-02. Retrieved 2023-11-29.
- ^ Laboratory, Los Alamos National. "Earth and Environmental Sciences | Organizations". Los Alamos National Laboratory. Retrieved 2023-11-29.
- ^ Xu, Zexuan; Molins, Sergi; Dwivedi, Dipankar; Özgen-Xian, Ilhan; Steefel, Carl (2022-01-01). ATS (Advanced Terrestrial Simulator) integrated hydrology and reactive transport model output in Copper Creek, Colorado (Report). Environmental System Science Data Infrastructure for a Virtual Ecosystem (ESS-DIVE) (United States). OSTI 1877377.
- ^ "0.4 CrunchFlow | PNG 550: Reactive Transport in the Subsurface". www.e-education.psu.edu. Retrieved 2023-11-29.
- ^ GOERGEN, Stefan KOLLET, Reed MAXWELL, Laura CONDON, Klaus. "ParFlow hydrologic model". parflow.org. Retrieved 2023-11-29.
{{cite web}}
: CS1 maint: multiple names: authors list (link) - ^ "PFLOTRAN". www.pflotran.org. Retrieved 2023-11-29.
- ^ "HYPRE | Computing". computing.llnl.gov. Retrieved 2023-11-29.
- ^ Andre, Benjamin; Molins, Sergi; Johnson, Jeffrey; Steefel, Carl (2013-08-01). Alquimia (Report). Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States). OSTI 1231758.
- ^ "Home Page". Exascale Computing Project. Retrieved 2023-11-29.
- ^ "SUNDIALS | Computing". computing.llnl.gov. Retrieved 2023-11-29.
- ^ "Magma Computational Algebra System". Magma. 2 June 2023.
- in-depth (not just passing mentions about the subject)
- reliable
- secondary
- independent of the subject
Make sure you add references that meet these criteria before resubmitting. Learn about mistakes to avoid when addressing this issue. If no additional references exist, the subject is not suitable for Wikipedia.