DP3
IterativeDiagonal.h
Go to the documentation of this file.
1 // Copyright (C) 2023 ASTRON (Netherlands Institute for Radio Astronomy)
2 // SPDX-License-Identifier: GPL-3.0-or-later
3 
4 #ifndef DP3_DDECAL_GAIN_SOLVERS_KERNELS_ITERATIVEDIAGONAL_H_
5 #define DP3_DDECAL_GAIN_SOLVERS_KERNELS_ITERATIVEDIAGONAL_H_
6 
7 #include <complex>
8 #include <cuda_runtime.h>
9 
10 #include <cudawrappers/cu.hpp>
11 
12 void LaunchSubtractKernel(cudaStream_t stream, size_t n_directions,
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);
18 
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);
25 
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);
33 
34 void LaunchStepKernel(cudaStream_t stream, size_t n_visibilities,
35  cu::DeviceMemory& solutions,
36  cu::DeviceMemory& next_solutions, bool phase_only,
37  double step_size);
38 
39 #endif // DP3_DDECAL_GAIN_SOLVERS_KERNELS_ITERATIVEDIAGONAL_H_
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)