Divide and Conquer: Modeling Large-Scale Hydraulics Faster
- Status: Open
- Hadiah: $40000
- Penyertaan Diterima: 0
IMPORTANT: PLEASE READ THE FULL CHALLENGE BRIEF THAT CONTAINS ALL THE CHALLENGE AND SUBMISSION REQUIREMENTS AND RULES
CHALLENGE BRIEF: https://drive.google.com/file/d/1dVplGeFnqII0affLEqoTxYHF5Ib6v-TN/view?usp=sharing
REGISTRATION FORM: https://forms.gle/HRdaxoaCNDzrqn667
WEBINAR RECORDING: https://www.youtube.com/watch?v=os1oIITN0Og
Improve the modeling of flow hydraulics and sediment transport by creating a fast, stable, parallel linear equation solver for computational fluid dynamics (CFD) models.
Last updated: Sep. 21, 2021
- Allowed the use of external libraries with permissive open-source licenses. The solver must be written in Fortran but you may use external open-source libraries. If an external open-source library is used, the libraries must have a permissive open-source license and you must be able to provide the source code package that is recompilable into a library.
- Changed the phase 1 and phase 2 prize breakdowns. Phase 1 is now a total of $100k and phase 2 a total of $200k to reflect the amount and complexity of work needed on both phases. The prize breakdowns have been updated to meet the total amounts.
DIVIDE AND CONQUER CHALLENGE: PHASE 1
Do you want to help Reclamation understand flow through rivers and reservoirs? Can you improve the speed in which Reclamation can model hydraulics and sediment transport in rivers and reservoirs? The Divide and Conquer Challenge gives you the opportunity to speed up the runtime of a river or sediment model and to win your share of the $300,000 prize purse.
To participate, in Phase 1 you must create a linear equation sparse matrix solver (LESMS) that:
1. is parallelized
2. is at least as stable as Reclamation’s current solver
3. runs on a multi-core Windows desktop PC
4. meets speedup requirements through parallelization or GPU technology
In Phase 2, you must incorporate your solver into a version of Reclamation’s Two-Dimensional (2D) model and make the model run in multi-core parallel mode.
The Bureau of Reclamation (Reclamation) Sedimentation and River Hydraulics Group is looking for solutions to improve how quickly engineers can model flow hydraulics and sediment transport in rivers and reservoirs. If you can create a parallel linear equation sparse matrix solver (LESMS) that runs on a multi-core Windows desktop PC, is more stable than the current Reclamation solver, and achieves scalable parallel speedup, you could win your share of the $100,000 prize. If you can parallelize Reclamation’s 2D model, incorporating your LESMS and achieving scalable parallel speedup, you could win a share of another $200,000 prize.
Currently, engineers and scientists use Reclamation’s own incomplete lower-upper preconditioned conjugate gradient solver (ILU-CGS) to solve two- and three-dimensional models on PCs. Reclamation’s solver is very stable but because it is hard for it to be parallelized efficiently, it only runs on a single-core and therefore it is slow for large problems. As a result, the area or time period of a study must be limited, or the model can take so long to run that the data is no longer relevant. To solve this bottleneck, Reclamation is looking for a scalable parallelized or parallelizable LESMS that runs on a multi-core PC to replace Reclamation’s existing single-core ILU-CGS. Also, they want to replace their existing Sedimentation and River Hydraulics 2D (SRH-2D) model with a parallelized version that incorporates the newly developed LESMS.
To compete in Phase 1, you will need to create or adapt an existing parallelized or parallelizable LESMS and demonstrate its performance. Phase 1 submissions will be judged on stability, convergence, and parallelism with scalable speedup. Your solver must run on a multi-core Windows desktop PC. The solver must be written in Fortran but you may use external open-source libraries. If an external open-source library is used, the libraries must have a permissive open-source license and you must be able to provide the source code package that is recompilable into a library. Additionally, GPU acceleration or other speedup methods will also be considered, including any innovative LESMS solutions. GPU codes must be written in either CUDA Fortran or OpenCL with a Fortran wrapper. Up to four of the top solutions that meet the requirements will be awarded a portion of the $100,000 prize purse. If less than four solutions are selected for a prize, the prize money will be redistributed among the actual number of winners. All Phase 1 competitors who meet or exceed benchmark stability, convergence, and parallel speedup values qualify to compete in Phase 2.
In Phase 2, you will need to parallelize the Reclamation 2D hydraulic model (SRH-2D), incorporate your parallel LESMS into it, and demonstrate the speedup of the parallelized model. Phase 2 submissions will be judged on the parallel speedup achieved using benchmark flow cases for up to 32 cores. The top two solutions will share in the $200,000 Phase 2 prize purse. If only one solution achieves the requirements, the team will be awarded the full $200,000.
Phase 1 - Parallel LESMS Challenge: Up to 4 prizes will be awarded to the top solvers that achieve the requirements of the challenge for a total of $100,000. The best solution will be awarded $40,000, second place will be awarded $25,000, third place will be awarded $20,000, and fourth place will be awarded $15,000. If less than four solutions are selected for a prize, the prize money will be redistributed among the winners.
For this Challenge, ownership of all intellectual property rights, if any, in the idea or concept demonstrated by the proposed solution will remain with the solver. However, as a condition of receiving a cash prize, the solver will be required to provide the U.S. Government a license to use. Specific provisions of the license are provided in the Intellectual Property section of the competition agreement. Also, Reclamation reserves the right to negotiate licenses for additional submitted solutions.
PHASE 1 – PARALLEL LESMS CHALLENGE
To be eligible to win the challenge, competitors must create a parallelized LESMS that is better in stability and convergence than Reclamation’s existing ILU-CGS on a single-core execution and, more importantly, achieves scalable parallel speedup for at least 32 cores. Submissions for the Parallel LESMS Challenge must demonstrate that your solver is at least as stable and quick to converge as Reclamation’s ILU-CGS on a single-core, is parallelized, and meets the parallel speedup requirements. Solvers must run on a multi-core Windows desktop PC and be written in Fortran. You may use external open-source libraries, but they must have a permissive open-source license and you must be able to provide the source code package that is recompilable into a library. Those who submit original solvers without the use of external open-source libraries are given extra credit in evaluation. Solutions that use a novel approach to the LESMS or use GPU technology will also be considered with their speedups evaluated against competing CPU solver speedups at 32 cores. Each submission must include a white paper describing their approach to the problem, a description of their solver, the source code for the solver, the necessary documentation of the solver’s performance, and the output from all benchmark tests.
The submission must detail:
1. The type of solver, description of the solver, previous use and performance, adaptations made for the challenge, and why it is suited for the challenge.
2. Solver performance metrics:
2a. The characteristics of the parallelization. Note: all solutions must be parallelized prior to the submission deadline.
2b. The stability and convergence characteristics using your own dataset in comparison to a typical preconditioned Conjugate Gradient solver on a single-core CPU.
2c. The stability and convergence characteristic using Reclamation’s datasets in comparison to Reclamation’s ILU-CGS solver on a single-core CPU.
2d. Speedup performance data in the multi-core CPU parallel mode (up to 32-cores) or using GPU technology. The hardware used to achieve the speedup must be detailed.
3. Planned approach to Phase 2 – Parallel SRH-2D Model Challenge.
Teams will submit their Registration Form (https://forms.gle/HRdaxoaCNDzrqn667) and eligible teams will receive two benchmark datasets and a compiled version of Reclamation’s ILU-CGS running on a single core. Final submissions will be ranked on the stability, convergence, and parallelization speedup of the solver, and judged on the team’s ability to complete the requirements of Phase 2. Up to four eligible solutions, based on the judging rubric, will be awarded prizes. All solutions that meet the parallelization, stability, and convergence baselines are eligible to continue to Phase 2.
Registration will be open from the launch of the challenge until the submission deadline of March 27, 2022, 11:59 PM ET.
To Register for the Challenge, Teams must:
1. Sign up for an account on the Freelancer.com platform
2. Complete and submit the Registration Form (https://forms.gle/HRdaxoaCNDzrqn667)
Registration Forms will be reviewed for eligibility; ineligible teams will be notified and teams that meet the Challenge eligibility requirements, as listed in the Rules, may continue in the competition. Eligible teams will be provided with a compiled copy of Reclamation’s ILU-CGS on a single-core and two datasets to use to complete their submission with the required comparisons between their solver and Reclamation’s.
It is important to note that the earlier a team Registers for the Challenge, the sooner they will have access to Reclamation’s ILU-CGS and datasets.
2) WHITE PAPER
The White Paper information must be submitted to the challenge page using the Challenge Submission Form (https://drive.google.com/file/d/1nYUT7I6JX3c51dyEtyUVbyU_y3jAOznI/view?usp=sharing).
Submissions must be uploaded to GitHub and must include:
1. Source code for the solver in Fortran.
2. The compiled version of the solver to be run on a Windows PC.
3. If external open-source libraries are used:
3a. Downloadable source code packages.
3b. Instructions on how to download and compile the packages into a library.
3c. Fortran code that links the solver library to solve the Reclamation datasets.
4. GitHub access
4) GITHUB ACCESS
To submit your compiled solver and source code through GitHub, you will need to provide the Challenge Team access to your private GitHub repository. To do so, share your GitHub repository with the following email address:
IMPORTANT: PLEASE READ THE FULL CHALLENGE BRIEF THAT CONTAINS ALL THE CHALLENGE AND SUBMISSION REQUIREMENTS AND RULES (https://drive.google.com/file/d/1dVplGeFnqII0affLEqoTxYHF5Ib6v-TN/view?usp=sharing)
Bureau of Reclamation and employees of Challenge partners reserve the rights to update or modify this challenge at any time. Updated material will be made available to all participants.
1) ELIGIBILITY REQUIREMENTS
- By participating in a Freelancer.com contest, each participant (whether an individual, group of individuals, or entity) must agree to and abide by the following: Freelancer Eligibility Policies, Freelancer User Agreement, and the Freelancer Copyright Infringement Policy. Each participant must complete and comply with the Freelancer KYC process. All team members must meet Freelancer eligibility policies (https://www.freelancer.com/support/General/restrictions-in-some-countries?w=f&ngsw-bypass=).
- All team members must be at least 18 years old and must be eligible to receive payment under the laws of the United States. United States federal sanctions prohibit participation from individuals and teams from certain countries (see: https://www.treasury.gov/resource-center/sanctions/Programs/Pages/Programs.aspx).
- Bureau of Reclamation and employees of Challenge partners are not eligible to participate. Federal employees acting within the scope of their employment are not eligible to participate. Any individual or entity associated with the development or administration of this challenge is ineligible to compete. Government contractors working on the same or similar projects are ineligible to participate in the Challenge.
- Funds from U.S. or foreign government organizations should not be used to directly fund the development of a solution to this Challenge. Solutions that were previously developed with Government/Federal funds, or where Government/Federal funds, including but not limited to, employee time, materials, and reviews, were utilized to prepare the submission or solutions are prohibited.
2) SUBMISSION REQUIREMENTS
- Solutions must originate from either the U.S. or a designated country (see definition of designated country at https://www.acquisition.gov/far/part-25#FAR_25_003), OR have been substantially transformed in the US or designated country prior to prototype delivery pursuant to FAR 25.403(c).
- The new LESMS shall not include proprietary components or anything that requires licensing. The design and implementation of the LESMS should be secure. It must comply with all the secure coding practices specified in the Open Web Application Security Project (OWASP) guide (Secure Coding Practices - Quick Reference Guide (owasp.org) that apply to code of this nature; with specific emphasis on input validation, memory management, error handling and logging, output encoding, and general coding practices. A static program analysis will be performed on each proposed LESMS to assess code integrity.
- Phase 1 submissions must be uploaded to the Challenge page before the deadline, March 27, 2022, at 11:59 pm ET. No late submissions will be accepted.
- All submissions must be in PDF format, in English, and machine readable (not handwritten).
For any prize award, the winner will receive the full amount awarded; any Freelancer seller fee will be refunded to the winner.
If participating as a team, all payments will be made to the Team Leader who is solely responsible for the distribution of funds among team members.
4) INTELLECTUAL PROPERTY
The Government requires an irrevocable, royalty free, perpetual, sublicensable, transferable, and worldwide license to use and permit others to use all or any part of the winning solutions including, without limitation, the right to make, have made, sell, offer for sale, use, rent, lease, import, copy, prepare derivative works, publicly display, publicly perform, and distribute all or any part of such solution, modifications, or combinations thereof and to sublicense (directly or indirectly through multiple tiers) or transfer any and all such rights.
Ownership of all intellectual property rights, if any, in the idea or concept demonstrated by the proposed solution will remain with the solver.
Reclamation reserves the right to negotiate licenses for additional submitted solutions.
Please submit your questions in the challenge Public Clarification Board or to email@example.com.