4 #ifndef DP3_DDECAL_GAIN_SOLVERS_KERNELS_ITERATIVEDIAGONAL_H_
5 #define DP3_DDECAL_GAIN_SOLVERS_KERNELS_ITERATIVEDIAGONAL_H_
8 #include <cuda_runtime.h>
10 #include <cudawrappers/cu.hpp>
13 size_t n_visibilities,
size_t n_solutions,
14 cu::DeviceMemory& antenna_pairs,
15 cu::DeviceMemory& solution_map,
16 cu::DeviceMemory& solutions, cu::DeviceMemory& model,
17 cu::DeviceMemory& residual);
20 cudaStream_t stream,
size_t n_antennas,
size_t n_visibilities,
21 size_t n_direction_solutions,
size_t n_solutions,
size_t direction,
22 cu::DeviceMemory& antenna_pairs, cu::DeviceMemory& solution_map,
23 cu::DeviceMemory& next_solutions, cu::DeviceMemory& numerator,
24 cu::DeviceMemory& denominator);
27 cudaStream_t stream,
size_t n_visibilities,
size_t n_direction_solutions,
28 size_t n_solutions,
size_t direction, cu::DeviceMemory& antenna_pairs,
29 cu::DeviceMemory& solution_map, cu::DeviceMemory& solutions,
30 cu::DeviceMemory& model, cu::DeviceMemory& residual_in,
31 cu::DeviceMemory& residual_temp, cu::DeviceMemory& numerator,
32 cu::DeviceMemory& denominator);
35 cu::DeviceMemory& solutions,
36 cu::DeviceMemory& next_solutions,
bool phase_only,
void LaunchStepKernel(cudaStream_t stream, size_t n_visibilities, cu::DeviceMemory &solutions, cu::DeviceMemory &next_solutions, bool phase_only, double step_size)
void LaunchSolveDirectionKernel(cudaStream_t stream, size_t n_visibilities, size_t n_direction_solutions, size_t n_solutions, size_t direction, cu::DeviceMemory &antenna_pairs, cu::DeviceMemory &solution_map, cu::DeviceMemory &solutions, cu::DeviceMemory &model, cu::DeviceMemory &residual_in, cu::DeviceMemory &residual_temp, cu::DeviceMemory &numerator, cu::DeviceMemory &denominator)
void LaunchSubtractKernel(cudaStream_t stream, size_t n_directions, size_t n_visibilities, size_t n_solutions, cu::DeviceMemory &antenna_pairs, cu::DeviceMemory &solution_map, cu::DeviceMemory &solutions, cu::DeviceMemory &model, cu::DeviceMemory &residual)
void LaunchSolveNextSolutionKernel(cudaStream_t stream, size_t n_antennas, size_t n_visibilities, size_t n_direction_solutions, size_t n_solutions, size_t direction, cu::DeviceMemory &antenna_pairs, cu::DeviceMemory &solution_map, cu::DeviceMemory &next_solutions, cu::DeviceMemory &numerator, cu::DeviceMemory &denominator)