Details
-
Enabler
-
Not Assigned
-
None
-
None
-
Data Processing
-
-
- All DPSteps use XTensor instead of Casacore arrays.
- The Casacore arrays in the DPBuffer object have been replaced by XTensors.
-
5
-
0
-
-
-
18.6
Description
The DPBuffer object currently relies on Casacore arrays using reference semantics. The behaviour of these reference semantics is not always clear (affecting maintainability of the code) and these arrays are not thread safe (affecting scalability). These issues can be avoided by XTensor. The transition to XTensor has the additional advantage that XTensor has nice semantics (improving maintainability of the code as well as speed of code development). This enables the use of XTensor features, such as SIMD instructions, and the use of libraries for, e.g., GPU support exploiting XTensor (improving computational performance). Ultimately, this transition also reduces the dependency of DP3 on Cascara
Preparatory work needed to transition from using Casacore arrays in the DPBuffer objec to XTensor was done in SP-3205 by providing an XTensore view on the Casacore arrays in most DPSteps. That work needs to be concluded by adding this XTensor view to the remaining DPSteps as well and by actual replacement of the Casacore arrays by XTensors in the DPBuffer object itself.