Changes between Version 7 and Version 8 of 2021WP/HPC-03_Mele_Comm_Cleanup
- Timestamp:
- 2021-03-15T09:23:40+01:00 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
2021WP/HPC-03_Mele_Comm_Cleanup
v7 v8 28 28 The implementation (or better the rationalization) of the lbc_lnk calls will start from DYN and ZDF modules (the TRA module was completed in 2020). Because we decided to support halo=1 execution, we put the lbc_lnk call inside of an IF statement condition whenever needed. 29 29 30 The movement of a communication earlier in the code (in the case of halo=2) often leads to a difference in the outputs when compared with the halo=1 run. This is due to the north folding algorithm. In the attached document ([attachment:"NorthFold and Halo2.pdf"]) we analysed the problem and found that, due to the north fold, some expressions are evalauted correctly but with a different order of the floating point operations with respect t he halo=1 case.30 The movement of a communication earlier in the code (in the case of halo=2) often leads to a difference in the outputs when compared with the halo=1 run. This is due to the north folding algorithm. In the attached document ([attachment:"NorthFold and Halo2.pdf"]) we analysed the problem and found that, due to the north fold, some expressions are evalauted correctly but with a different order of the floating point operations with respect to the halo=1 case. 31 31 32 32 In order to preserve the bit comparison of the results between the cases halo=1 and halo=2, we have to "force" the order of the floating point operations in both cases by introducing round brackets whithin the interested expressions.