| 1222 | template <typename FRAG_T, typename WORK_SOURCE_T, typename ASSIGN_OP, |
| 1223 | typename EDGE_OP, EdgeDirection ed> |
| 1224 | inline void ForEachEdgeCTA(const Stream& stream, const FRAG_T& dev_frag, |
| 1225 | const WORK_SOURCE_T& ws, ASSIGN_OP assign_op, |
| 1226 | EDGE_OP op) { |
| 1227 | int grid_size, block_size; |
| 1228 | auto size = ws.size(); |
| 1229 | if (size == 0) { |
| 1230 | return; |
| 1231 | } |
| 1232 | |
| 1233 | auto lb_wrapper = [=] __device__() { |
| 1234 | LBCTA<FRAG_T, WORK_SOURCE_T, ASSIGN_OP, EDGE_OP, ed>(dev_frag, ws, |
| 1235 | assign_op, op); |
| 1236 | }; // NOLINT |
| 1237 | |
| 1238 | KernelSizing(grid_size, block_size, size); |
| 1239 | KernelWrapper<<<grid_size, block_size, 0, stream.cuda_stream()>>>( |
| 1240 | lb_wrapper); |
| 1241 | } |
| 1242 | |
| 1243 | template <typename FRAG_T, typename WORK_SOURCE_T, typename ASSIGN_OP, |
| 1244 | typename EDGE_OP, EdgeDirection ed> |
nothing calls this directly
no test coverage detected