Class CudaLeapCalibrator
Defined in File CudaLeapCalibrator.h
Inheritance Relationships
Base Type
public ska::ILeapCalibrator(Class ILeapCalibrator)
Class Documentation
-
class CudaLeapCalibrator : public ska::ILeapCalibrator
LEAP calibration object implemented using CUDA.
Public Functions
-
CudaLeapCalibrator()
-
~CudaLeapCalibrator() override
-
virtual void Calibrate(std::function<void(const cpu::Calibration&)> outputCallback, const ska::LeapDataset &ds, const std::vector<SphericalDirection> &directions, const std::optional<std::vector<TecScreen>> &tecScreens, const Slice &solutionInterval, double minimumBaselineThreshold, bool computeCal1, std::optional<unsigned int> referenceAntenna, const ComputeOptionsDTO &computeOptions) override
Interface for Leap calibration implementations.
Calibrates by performing phase rotation for each direction in
directionsby splitting uvws and visibilities into integration batches per timestep.
-
void CalculateAd(HostLeapData &leapData, device_matrix<double> &deviceA, device_matrix<double> &deviceAd, bool isFileSystemCacheEnabled, bool useCuda)
Calculates Ad into deviceAd, writes to cache if
isFileSystemCacheEnabledis true.- Parameters:
hostA – matrix to invert
deviceA – output device memory of A
hostAd – output host memory of Ad (optionally written to)
deviceAd – output device memory of Ad
isFileSystemCacheEnabled – whether to use file caching
useCuda – whether to use cuda solvers
-
void CalculateAd1(HostLeapData &leapData, device_matrix<double> &deviceA1, device_matrix<double> &deviceAd1)
Calculates Ad1 into deviceAd1.
- Parameters:
hostA1 – matrix to invert
deviceA1 – output device memory of A1
hostAd1 – output host memory of Ad1 (optionally written to)
deviceAd1 – output device memory of Ad1
-
cpu::BeamCalibration BeamCalibrate(const HostLeapData &hostMetadata, DeviceLeapData &deviceLeapData, const SphericalDirection &direction, cuda::DeviceIntegration &input, bool computeCal1)
Performs only visibilities rotation on the GPU
-
CudaLeapCalibrator()