Coverage Report

Created: 2025-02-24 17:43

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/home/liu/actions-runner/_work/ccv/ccv/lib/nnc/ccv_nnc_internal.h
Line
Count
Source
1
/**********************************************************
2
 * C-based/Cached/Core Computer Vision Library
3
 * Liu Liu, 2010-02-01
4
 **********************************************************/
5
6
/**********************************************************
7
 * CCV - Neural Network Collection
8
 **********************************************************/
9
10
#ifndef GUARD_ccv_nnc_internal_h
11
#define GUARD_ccv_nnc_internal_h
12
13
#include "ccv.h"
14
#include "ccv_internal.h"
15
#include "nnc/ccv_nnc.h"
16
17
// Define some internal constraints
18
19
#define CCV_NNC_STACK_BITMASK_ALLOC (2)
20
792
#define CCV_NNC_TENSOR_PLACEHOLDER ((ccv_nnc_tensor_t*)(intptr_t)(0x10))
21
22
typedef void (*ccv_nnc_cmd_tensor_auto_f)(const ccv_nnc_cmd_param_t cmd, const ccv_nnc_tensor_param_t* const inputs, const int input_size, const ccv_nnc_hint_t hint, ccv_nnc_tensor_param_t* const outputs, const int output_size);
23
typedef int (*ccv_nnc_cmd_bitmask_f)(const ccv_nnc_cmd_param_t cmd, const int input_size, const int output_size, const uint64_t* const input_bitmasks, const int input_bitmask_size, const uint64_t* const output_bitmasks, const int output_bitmask_size);
24
typedef int (*ccv_nnc_cmd_inplace_f)(const ccv_nnc_cmd_param_t cmd, const int input_idx, const int input_size, const int output_idx, const int output_size);
25
26
typedef struct {
27
  int flags;
28
  ccv_nnc_cmd_bitmask_f bitmask;
29
  ccv_nnc_cmd_tensor_auto_f tensor_auto;
30
  ccv_nnc_cmd_inplace_f allow_inplace;
31
  ccv_nnc_cmd_inplace_f enforce_inplace;
32
} ccv_nnc_cmd_registry_t;
33
34
typedef struct {
35
  int tensor_formats; /**< [formats] The supported formats for this API implementation. */
36
  int tensor_datatypes; /**< [datatypes] The supported data types for this API implementation. */
37
  int tensor_memory; /**< [memory] The supported tensor memory type for this API implementation. */
38
  int algorithms; /**< [algorithms] Number of algorithms variation. */
39
  ccv_nnc_cmd_exec_f exec; /**< [exec] The function for command execution. */
40
  ccv_nnc_cmd_autotune_f autotune; /**< [autotune] The function to find the best algorithm to apply. */
41
  void* aux; /**< [aux] The additional information available for a particular command under a particular backend. */
42
} ccv_nnc_cmd_backend_registry_t;
43
44
static inline int ccv_nnc_tensor_hw(const ccv_nnc_tensor_param_t a, const int nd, const int size_nd)
45
4.37k
{
46
4.37k
  if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
47
4.37k
    (a.format == CCV_TENSOR_FORMAT_NHWC && 
nd == size_nd + 1265
))
48
101
    return 0;
49
4.27k
  else if ((a.format == CCV_TENSOR_FORMAT_NHWC && 
nd == size_nd + 2164
) ||
50
4.27k
       
(4.11k
a.format == CCV_TENSOR_FORMAT_NCHW4.11k
&&
nd == size_nd + 14.11k
))
51
168
    return 1;
52
4.10k
  else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
53
4.10k
    return 2;
54
0
  return -1;
55
4.37k
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_cmd.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_tensor.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_stream.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_micro.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_micro_simplify.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_graph.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph_compile.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph_backward.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_graph_while.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph_parallel.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph_simplify.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_dynamic_graph.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_nnc_tensor_hw
ccv_cnnp_dataframe_addons.c:ccv_nnc_tensor_hw
Line
Count
Source
45
27
{
46
27
  if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
47
27
    (a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 1))
48
27
    return 0;
49
0
  else if ((a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 2) ||
50
0
       (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 1))
51
0
    return 1;
52
0
  else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
53
0
    return 2;
54
0
  return -1;
55
27
}
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_cnnp_model.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_nnc_tensor_hw
ccv_cnnp_model_addons.c:ccv_nnc_tensor_hw
Line
Count
Source
45
108
{
46
108
  if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
47
108
    (a.format == CCV_TENSOR_FORMAT_NHWC && 
nd == size_nd + 112
))
48
0
    return 0;
49
108
  else if ((a.format == CCV_TENSOR_FORMAT_NHWC && 
nd == size_nd + 212
) ||
50
108
       
(96
a.format == CCV_TENSOR_FORMAT_NCHW96
&&
nd == size_nd + 196
))
51
12
    return 1;
52
96
  else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
53
96
    return 2;
54
0
  return -1;
55
108
}
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_cnnp_model_gradient_checkpointing.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_gemm_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_adam.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_blas.c:ccv_nnc_tensor_hw
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_hw
Unexecuted instantiation: _ccv_nnc_gemm_cpu_sys.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_comm.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_nnc_tensor_hw
ccv_nnc_compression.c:ccv_nnc_tensor_hw
Line
Count
Source
45
10
{
46
10
  if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
47
10
    (a.format == CCV_TENSOR_FORMAT_NHWC && 
nd == size_nd + 10
))
48
0
    return 0;
49
10
  else if ((a.format == CCV_TENSOR_FORMAT_NHWC && 
nd == size_nd + 20
) ||
50
10
       (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 1))
51
2
    return 1;
52
8
  else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
53
8
    return 2;
54
0
  return -1;
55
10
}
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_nnc_tensor_hw
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_nnc_tensor_hw
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_nnc_tensor_hw
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_hw
ccv_nnc_convolution.c:ccv_nnc_tensor_hw
Line
Count
Source
45
2.19k
{
46
2.19k
  if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
47
2.19k
    (a.format == CCV_TENSOR_FORMAT_NHWC && 
nd == size_nd + 1124
))
48
53
    return 0;
49
2.13k
  else if ((a.format == CCV_TENSOR_FORMAT_NHWC && 
nd == size_nd + 271
) ||
50
2.13k
       
(2.06k
a.format == CCV_TENSOR_FORMAT_NCHW2.06k
&&
nd == size_nd + 12.06k
))
51
71
    return 1;
52
2.06k
  else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
53
2.06k
    return 2;
54
0
  return -1;
55
2.19k
}
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_ew.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_mse.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_nms.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_norm.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_pad.c:ccv_nnc_tensor_hw
ccv_nnc_pool.c:ccv_nnc_tensor_hw
Line
Count
Source
45
2.03k
{
46
2.03k
  if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
47
2.03k
    (a.format == CCV_TENSOR_FORMAT_NHWC && 
nd == size_nd + 1102
))
48
21
    return 0;
49
2.01k
  else if ((a.format == CCV_TENSOR_FORMAT_NHWC && 
nd == size_nd + 281
) ||
50
2.01k
       
(1.93k
a.format == CCV_TENSOR_FORMAT_NCHW1.93k
&&
nd == size_nd + 11.93k
))
51
83
    return 1;
52
1.93k
  else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
53
1.93k
    return 2;
54
0
  return -1;
55
2.03k
}
Unexecuted instantiation: ccv_nnc_rand.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_relu.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_swish.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_nnc_tensor_hw
Unexecuted instantiation: ccv_nnc_util.c:ccv_nnc_tensor_hw
56
57
static inline void ccv_nnc_hint_tensor_forward(const ccv_nnc_cmd_param_t cmd, const ccv_nnc_tensor_param_t a, const ccv_nnc_hint_t hint, ccv_nnc_tensor_param_t* b)
58
3.29k
{
59
3.29k
  int i;
60
3.29k
  assert(a.format == b->format);
61
3.29k
  const int nd = ccv_nnc_tensor_nd(a.dim);
62
3.29k
  const int size_nd = ccv_nnc_tensor_nd(cmd.size.dim) - 1;
63
3.29k
  assert(size_nd == 2 || size_nd == 3); // Support 3D convolution.
64
3.29k
  assert(nd == size_nd + 1 || nd == size_nd + 2);
65
3.29k
  int hw = ccv_nnc_tensor_hw(a, nd, size_nd);
66
3.29k
  assert(hw >= 0);
67
9.89k
  
for (i = 0; 3.29k
i < size_nd;
i++6.59k
)
68
6.59k
  {
69
6.59k
    int stride = ccv_max(1, hint.stride.dim[i]);
70
6.59k
    b->dim[i + hw] = (a.dim[i + hw] + hint.border.begin[i] + hint.border.end[i] - cmd.size.dim[i]) / stride + 1;
71
6.59k
  }
72
3.29k
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_cmd.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_tensor.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_stream.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_micro.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_micro_simplify.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_graph.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph_compile.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph_backward.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_graph_while.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph_parallel.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph_simplify.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_dynamic_graph.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_cnnp_dataframe_addons.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_cnnp_model.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_cnnp_model_addons.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_cnnp_model_gradient_checkpointing.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_gemm_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_adam.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_blas.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: _ccv_nnc_gemm_cpu_sys.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_comm.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_compression.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_nnc_hint_tensor_forward
ccv_nnc_convolution.c:ccv_nnc_hint_tensor_forward
Line
Count
Source
58
2.19k
{
59
2.19k
  int i;
60
2.19k
  assert(a.format == b->format);
61
2.19k
  const int nd = ccv_nnc_tensor_nd(a.dim);
62
2.19k
  const int size_nd = ccv_nnc_tensor_nd(cmd.size.dim) - 1;
63
2.19k
  assert(size_nd == 2 || size_nd == 3); // Support 3D convolution.
64
2.19k
  assert(nd == size_nd + 1 || nd == size_nd + 2);
65
2.19k
  int hw = ccv_nnc_tensor_hw(a, nd, size_nd);
66
2.19k
  assert(hw >= 0);
67
6.57k
  
for (i = 0; 2.19k
i < size_nd;
i++4.38k
)
68
4.38k
  {
69
4.38k
    int stride = ccv_max(1, hint.stride.dim[i]);
70
4.38k
    b->dim[i + hw] = (a.dim[i + hw] + hint.border.begin[i] + hint.border.end[i] - cmd.size.dim[i]) / stride + 1;
71
4.38k
  }
72
2.19k
}
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_ew.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_mse.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_nms.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_norm.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_pad.c:ccv_nnc_hint_tensor_forward
ccv_nnc_pool.c:ccv_nnc_hint_tensor_forward
Line
Count
Source
58
1.10k
{
59
1.10k
  int i;
60
1.10k
  assert(a.format == b->format);
61
1.10k
  const int nd = ccv_nnc_tensor_nd(a.dim);
62
1.10k
  const int size_nd = ccv_nnc_tensor_nd(cmd.size.dim) - 1;
63
1.10k
  assert(size_nd == 2 || size_nd == 3); // Support 3D convolution.
64
1.10k
  assert(nd == size_nd + 1 || nd == size_nd + 2);
65
1.10k
  int hw = ccv_nnc_tensor_hw(a, nd, size_nd);
66
1.10k
  assert(hw >= 0);
67
3.31k
  
for (i = 0; 1.10k
i < size_nd;
i++2.21k
)
68
2.21k
  {
69
2.21k
    int stride = ccv_max(1, hint.stride.dim[i]);
70
2.21k
    b->dim[i + hw] = (a.dim[i + hw] + hint.border.begin[i] + hint.border.end[i] - cmd.size.dim[i]) / stride + 1;
71
2.21k
  }
72
1.10k
}
Unexecuted instantiation: ccv_nnc_rand.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_relu.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_swish.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_nnc_hint_tensor_forward
Unexecuted instantiation: ccv_nnc_util.c:ccv_nnc_hint_tensor_forward
73
74
static inline void ccv_nnc_hint_tensor_backward(const ccv_nnc_cmd_param_t cmd, const ccv_nnc_tensor_param_t a, const ccv_nnc_hint_t hint, ccv_nnc_tensor_param_t* b)
75
933
{
76
933
  int i;
77
933
  assert(a.format == b->format);
78
933
  const int nd = ccv_nnc_tensor_nd(a.dim);
79
933
  const int size_nd = ccv_nnc_tensor_nd(cmd.size.dim) - 1;
80
933
  assert(size_nd == 2 || size_nd == 3); // Support 3D convolution.
81
933
  assert(nd == size_nd + 1 || nd == size_nd + 2);
82
933
  int hw = ccv_nnc_tensor_hw(a, nd, size_nd);
83
933
  assert(hw >= 0);
84
2.79k
  
for (i = 0; 933
i < size_nd;
i++1.86k
)
85
1.86k
  {
86
1.86k
    int stride = ccv_max(1, hint.stride.dim[i]);
87
1.86k
    b->dim[i + hw] = (a.dim[i + hw] - 1) * stride - hint.border.begin[i] - hint.border.end[i] + cmd.size.dim[i];
88
1.86k
  }
89
933
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_cmd.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_tensor.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_stream.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_micro.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_micro_simplify.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_graph.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph_compile.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph_backward.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_graph_while.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph_parallel.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph_simplify.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_dynamic_graph.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_cnnp_dataframe_addons.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_cnnp_model.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_cnnp_model_addons.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_cnnp_model_gradient_checkpointing.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_gemm_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_adam.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_blas.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: _ccv_nnc_gemm_cpu_sys.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_comm.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_compression.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_convolution.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_ew.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_mse.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_nms.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_norm.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_pad.c:ccv_nnc_hint_tensor_backward
ccv_nnc_pool.c:ccv_nnc_hint_tensor_backward
Line
Count
Source
75
933
{
76
933
  int i;
77
933
  assert(a.format == b->format);
78
933
  const int nd = ccv_nnc_tensor_nd(a.dim);
79
933
  const int size_nd = ccv_nnc_tensor_nd(cmd.size.dim) - 1;
80
933
  assert(size_nd == 2 || size_nd == 3); // Support 3D convolution.
81
933
  assert(nd == size_nd + 1 || nd == size_nd + 2);
82
933
  int hw = ccv_nnc_tensor_hw(a, nd, size_nd);
83
933
  assert(hw >= 0);
84
2.79k
  
for (i = 0; 933
i < size_nd;
i++1.86k
)
85
1.86k
  {
86
1.86k
    int stride = ccv_max(1, hint.stride.dim[i]);
87
1.86k
    b->dim[i + hw] = (a.dim[i + hw] - 1) * stride - hint.border.begin[i] - hint.border.end[i] + cmd.size.dim[i];
88
1.86k
  }
89
933
}
Unexecuted instantiation: ccv_nnc_rand.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_relu.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_swish.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_nnc_hint_tensor_backward
Unexecuted instantiation: ccv_nnc_util.c:ccv_nnc_hint_tensor_backward
90
91
void ccv_nnc_hint_tensor_auto_forward_from_inputs(const ccv_nnc_cmd_param_t cmd, const ccv_nnc_tensor_param_t* const inputs, const int input_size, const ccv_nnc_hint_t hint, ccv_nnc_tensor_param_t* const outputs, const int output_size);
92
void ccv_nnc_hint_tensor_auto_backward_from_gradient(const ccv_nnc_cmd_param_t cmd, const ccv_nnc_tensor_param_t* const inputs, const int input_size, const ccv_nnc_hint_t hint, ccv_nnc_tensor_param_t* const outputs, const int output_size);
93
void ccv_nnc_hint_tensor_auto_backward_from_inputs(const ccv_nnc_cmd_param_t cmd, const ccv_nnc_tensor_param_t* const inputs, const int input_size, const ccv_nnc_hint_t hint, ccv_nnc_tensor_param_t* const outputs, const int output_size);
94
void ccv_nnc_hint_tensor_auto_backward_from_gradient_and_inputs(const ccv_nnc_cmd_param_t cmd, const ccv_nnc_tensor_param_t* const inputs, const int input_size, const ccv_nnc_hint_t hint, ccv_nnc_tensor_param_t* const outputs, const int output_size);
95
int ccv_nnc_device_ids_for_io(ccv_nnc_tensor_t* const* const inputs, const int input_size, ccv_nnc_tensor_t* const* const outputs, const int output_size, const int tensor_type, int* const device_ids, const int max_device_id_size);
96
void ccv_nnc_print_tensor_shape(const ccv_nnc_tensor_t* const tensor);
97
void ccv_nnc_print_tensor_info(const ccv_nnc_tensor_t* const tensor);
98
99
static inline off_t ccv_nnc_tensor_view_offset(const int datatype, const int stride[CCV_NNC_MAX_DIM_ALLOC], const int ofs[CCV_NNC_MAX_DIM_ALLOC])
100
2.16k
{
101
2.16k
  int i;
102
2.16k
  int nd = ccv_nnc_tensor_nd(stride);
103
2.16k
  off_t offset = 0;
104
4.62k
  for (i = nd - 1; i >= 0; 
i--2.45k
)
105
2.45k
    offset += ofs[i] * stride[i] * CCV_GET_DATA_TYPE_SIZE(datatype);
106
2.16k
  return offset;
107
2.16k
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_cmd.c:ccv_nnc_tensor_view_offset
ccv_nnc_tensor.c:ccv_nnc_tensor_view_offset
Line
Count
Source
100
165
{
101
165
  int i;
102
165
  int nd = ccv_nnc_tensor_nd(stride);
103
165
  off_t offset = 0;
104
621
  for (i = nd - 1; i >= 0; 
i--456
)
105
456
    offset += ofs[i] * stride[i] * CCV_GET_DATA_TYPE_SIZE(datatype);
106
165
  return offset;
107
165
}
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_stream.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_micro.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_micro_simplify.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_graph.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_symbolic_graph.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_nnc_tensor_view_offset
ccv_nnc_symbolic_graph_compile.c:ccv_nnc_tensor_view_offset
Line
Count
Source
100
2.00k
{
101
2.00k
  int i;
102
2.00k
  int nd = ccv_nnc_tensor_nd(stride);
103
2.00k
  off_t offset = 0;
104
4.00k
  for (i = nd - 1; i >= 0; 
i--2.00k
)
105
2.00k
    offset += ofs[i] * stride[i] * CCV_GET_DATA_TYPE_SIZE(datatype);
106
2.00k
  return offset;
107
2.00k
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_backward.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_graph_while.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_symbolic_graph_parallel.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_symbolic_graph_simplify.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_nnc_tensor_view_offset
ccv_nnc_dynamic_graph.c:ccv_nnc_tensor_view_offset
Line
Count
Source
100
1
{
101
1
  int i;
102
1
  int nd = ccv_nnc_tensor_nd(stride);
103
1
  off_t offset = 0;
104
3
  for (i = nd - 1; i >= 0; 
i--2
)
105
2
    offset += ofs[i] * stride[i] * CCV_GET_DATA_TYPE_SIZE(datatype);
106
1
  return offset;
107
1
}
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_cnnp_dataframe_addons.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_cnnp_model.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_cnnp_model_addons.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_cnnp_model_gradient_checkpointing.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_gemm_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_adam.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_blas.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: _ccv_nnc_gemm_cpu_sys.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_comm.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_compression.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_convolution.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_ew.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_mse.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_nms.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_norm.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_pad.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_pool.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_rand.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_relu.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_swish.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_nnc_tensor_view_offset
Unexecuted instantiation: ccv_nnc_util.c:ccv_nnc_tensor_view_offset
108
109
static inline void ccv_nnc_tensor_get_stride(const int dim[CCV_NNC_MAX_DIM_ALLOC], int stride[CCV_NNC_MAX_DIM_ALLOC])
110
114k
{
111
114k
  int x;
112
114k
  const int nd = ccv_nnc_tensor_nd(dim);
113
114k
  if (nd < CCV_NNC_MAX_DIM_ALLOC)
114
114k
    stride[nd] = 0;
115
114k
  int cstride = 1;
116
306k
  for (x = nd - 1; x >= 0; 
x--192k
)
117
192k
  {
118
192k
    stride[x] = cstride;
119
192k
    cstride *= dim[x];
120
192k
  }
121
114k
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_nnc_tensor_get_stride
ccv_nnc_cmd.c:ccv_nnc_tensor_get_stride
Line
Count
Source
110
3
{
111
3
  int x;
112
3
  const int nd = ccv_nnc_tensor_nd(dim);
113
3
  if (nd < CCV_NNC_MAX_DIM_ALLOC)
114
3
    stride[nd] = 0;
115
3
  int cstride = 1;
116
6
  for (x = nd - 1; x >= 0; 
x--3
)
117
3
  {
118
3
    stride[x] = cstride;
119
3
    cstride *= dim[x];
120
3
  }
121
3
}
ccv_nnc_tensor.c:ccv_nnc_tensor_get_stride
Line
Count
Source
110
4
{
111
4
  int x;
112
4
  const int nd = ccv_nnc_tensor_nd(dim);
113
4
  if (nd < CCV_NNC_MAX_DIM_ALLOC)
114
4
    stride[nd] = 0;
115
4
  int cstride = 1;
116
13
  for (x = nd - 1; x >= 0; 
x--9
)
117
9
  {
118
9
    stride[x] = cstride;
119
9
    cstride *= dim[x];
120
9
  }
121
4
}
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_stream.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_micro.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_micro_simplify.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_graph.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph_compile.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph_backward.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_graph_while.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph_parallel.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph_simplify.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_nnc_tensor_get_stride
ccv_nnc_dynamic_graph.c:ccv_nnc_tensor_get_stride
Line
Count
Source
110
33
{
111
33
  int x;
112
33
  const int nd = ccv_nnc_tensor_nd(dim);
113
33
  if (nd < CCV_NNC_MAX_DIM_ALLOC)
114
33
    stride[nd] = 0;
115
33
  int cstride = 1;
116
107
  for (x = nd - 1; x >= 0; 
x--74
)
117
74
  {
118
74
    stride[x] = cstride;
119
74
    cstride *= dim[x];
120
74
  }
121
33
}
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_cnnp_dataframe_addons.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_cnnp_model.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_nnc_tensor_get_stride
ccv_cnnp_model_addons.c:ccv_nnc_tensor_get_stride
Line
Count
Source
110
1.07k
{
111
1.07k
  int x;
112
1.07k
  const int nd = ccv_nnc_tensor_nd(dim);
113
1.07k
  if (nd < CCV_NNC_MAX_DIM_ALLOC)
114
1.07k
    stride[nd] = 0;
115
1.07k
  int cstride = 1;
116
2.29k
  for (x = nd - 1; x >= 0; 
x--1.21k
)
117
1.21k
  {
118
1.21k
    stride[x] = cstride;
119
1.21k
    cstride *= dim[x];
120
1.21k
  }
121
1.07k
}
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_cnnp_model_gradient_checkpointing.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_nnc_tensor_get_stride
ccv_nnc_gemm_cpu_ref.c:ccv_nnc_tensor_get_stride
Line
Count
Source
110
106k
{
111
106k
  int x;
112
106k
  const int nd = ccv_nnc_tensor_nd(dim);
113
106k
  if (nd < CCV_NNC_MAX_DIM_ALLOC)
114
106k
    stride[nd] = 0;
115
106k
  int cstride = 1;
116
285k
  for (x = nd - 1; x >= 0; 
x--179k
)
117
179k
  {
118
179k
    stride[x] = cstride;
119
179k
    cstride *= dim[x];
120
179k
  }
121
106k
}
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_adam.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_blas.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_get_stride
_ccv_nnc_gemm_cpu_sys.c:ccv_nnc_tensor_get_stride
Line
Count
Source
110
7.58k
{
111
7.58k
  int x;
112
7.58k
  const int nd = ccv_nnc_tensor_nd(dim);
113
7.58k
  if (nd < CCV_NNC_MAX_DIM_ALLOC)
114
7.58k
    stride[nd] = 0;
115
7.58k
  int cstride = 1;
116
18.8k
  for (x = nd - 1; x >= 0; 
x--11.2k
)
117
11.2k
  {
118
11.2k
    stride[x] = cstride;
119
11.2k
    cstride *= dim[x];
120
11.2k
  }
121
7.58k
}
Unexecuted instantiation: ccv_nnc_comm.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_compression.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_convolution.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_ew.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_mse.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_nms.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_norm.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_pad.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_pool.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_rand.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_relu.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_swish.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_nnc_tensor_get_stride
Unexecuted instantiation: ccv_nnc_util.c:ccv_nnc_tensor_get_stride
122
123
static inline int ccv_nnc_tensor_view_is_contiguous(const int dim[CCV_NNC_MAX_DIM_ALLOC], const int stride[CCV_NNC_MAX_DIM_ALLOC])
124
169
{
125
  // Check if a tensor view is contiguous.
126
169
  const int nd = ccv_nnc_tensor_nd(dim);
127
169
  int first_none_one_dim_idx = -1;
128
169
  int i;
129
375
  for (i = 0; first_none_one_dim_idx < 0 && 
i < nd244
;
i++206
)
130
206
    if (dim[i] > 1)
131
131
      first_none_one_dim_idx = i;
132
  // If it is all 1, it is contiguous.
133
169
  if (first_none_one_dim_idx < 0)
134
38
    return 1;
135
  // Check if from 0 to first_none_one_dim_idx, it is 1.
136
169
  assert
(first_none_one_dim_idx < CCV_NNC_MAX_DIM_ALLOC)131
;
137
131
  int cstride = 1;
138
300
  for (i = nd - 1; i >= first_none_one_dim_idx; 
i--169
)
139
260
  {
140
260
    if (stride[i] != cstride)
141
91
      return 0;
142
169
    else
143
169
      cstride *= dim[i];
144
260
  }
145
40
  return 1;
146
131
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_cmd.c:ccv_nnc_tensor_view_is_contiguous
ccv_nnc_tensor.c:ccv_nnc_tensor_view_is_contiguous
Line
Count
Source
124
165
{
125
  // Check if a tensor view is contiguous.
126
165
  const int nd = ccv_nnc_tensor_nd(dim);
127
165
  int first_none_one_dim_idx = -1;
128
165
  int i;
129
363
  for (i = 0; first_none_one_dim_idx < 0 && 
i < nd235
;
i++198
)
130
198
    if (dim[i] > 1)
131
128
      first_none_one_dim_idx = i;
132
  // If it is all 1, it is contiguous.
133
165
  if (first_none_one_dim_idx < 0)
134
37
    return 1;
135
  // Check if from 0 to first_none_one_dim_idx, it is 1.
136
165
  assert
(first_none_one_dim_idx < CCV_NNC_MAX_DIM_ALLOC)128
;
137
128
  int cstride = 1;
138
294
  for (i = nd - 1; i >= first_none_one_dim_idx; 
i--166
)
139
257
  {
140
257
    if (stride[i] != cstride)
141
91
      return 0;
142
166
    else
143
166
      cstride *= dim[i];
144
257
  }
145
37
  return 1;
146
128
}
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_stream.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_micro.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_micro_simplify.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_graph.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph_compile.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph_backward.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_graph_while.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph_parallel.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph_simplify.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_nnc_tensor_view_is_contiguous
ccv_nnc_dynamic_graph.c:ccv_nnc_tensor_view_is_contiguous
Line
Count
Source
124
4
{
125
  // Check if a tensor view is contiguous.
126
4
  const int nd = ccv_nnc_tensor_nd(dim);
127
4
  int first_none_one_dim_idx = -1;
128
4
  int i;
129
12
  for (i = 0; first_none_one_dim_idx < 0 && 
i < nd9
;
i++8
)
130
8
    if (dim[i] > 1)
131
3
      first_none_one_dim_idx = i;
132
  // If it is all 1, it is contiguous.
133
4
  if (first_none_one_dim_idx < 0)
134
1
    return 1;
135
  // Check if from 0 to first_none_one_dim_idx, it is 1.
136
4
  assert
(first_none_one_dim_idx < CCV_NNC_MAX_DIM_ALLOC)3
;
137
3
  int cstride = 1;
138
6
  for (i = nd - 1; i >= first_none_one_dim_idx; 
i--3
)
139
3
  {
140
3
    if (stride[i] != cstride)
141
0
      return 0;
142
3
    else
143
3
      cstride *= dim[i];
144
3
  }
145
3
  return 1;
146
3
}
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_cnnp_dataframe_addons.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_cnnp_model.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_cnnp_model_addons.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_cnnp_model_gradient_checkpointing.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_gemm_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_adam.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_blas.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: _ccv_nnc_gemm_cpu_sys.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_comm.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_compression.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_convolution.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_ew.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_mse.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_nms.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_norm.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_pad.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_pool.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_rand.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_relu.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_swish.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_nnc_tensor_view_is_contiguous
Unexecuted instantiation: ccv_nnc_util.c:ccv_nnc_tensor_view_is_contiguous
147
148
static inline void ccv_nnc_tensor_data(const ccv_nnc_tensor_param_t params, unsigned char* const data, const off_t off, ccv_numeric_data_t* const data_ref, off_t* const dataof_ref)
149
3.21k
{
150
#ifdef HAVE_MPS
151
  if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
152
  {
153
    (*data_ref).u8 = data;
154
    *dataof_ref = off;
155
    return;
156
  }
157
#endif
158
3.21k
  (*data_ref).u8 = data + off;
159
3.21k
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_cmd.c:ccv_nnc_tensor_data
ccv_nnc_tensor.c:ccv_nnc_tensor_data
Line
Count
Source
149
165
{
150
#ifdef HAVE_MPS
151
  if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
152
  {
153
    (*data_ref).u8 = data;
154
    *dataof_ref = off;
155
    return;
156
  }
157
#endif
158
165
  (*data_ref).u8 = data + off;
159
165
}
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_stream.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_micro.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_micro_simplify.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_graph.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_symbolic_graph.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_nnc_tensor_data
ccv_nnc_symbolic_graph_compile.c:ccv_nnc_tensor_data
Line
Count
Source
149
2.00k
{
150
#ifdef HAVE_MPS
151
  if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
152
  {
153
    (*data_ref).u8 = data;
154
    *dataof_ref = off;
155
    return;
156
  }
157
#endif
158
2.00k
  (*data_ref).u8 = data + off;
159
2.00k
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_backward.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_nnc_tensor_data
ccv_nnc_graph_while.c:ccv_nnc_tensor_data
Line
Count
Source
149
10
{
150
#ifdef HAVE_MPS
151
  if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
152
  {
153
    (*data_ref).u8 = data;
154
    *dataof_ref = off;
155
    return;
156
  }
157
#endif
158
10
  (*data_ref).u8 = data + off;
159
10
}
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_symbolic_graph_parallel.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_symbolic_graph_simplify.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_nnc_tensor_data
ccv_nnc_dynamic_graph.c:ccv_nnc_tensor_data
Line
Count
Source
149
1.03k
{
150
#ifdef HAVE_MPS
151
  if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
152
  {
153
    (*data_ref).u8 = data;
154
    *dataof_ref = off;
155
    return;
156
  }
157
#endif
158
1.03k
  (*data_ref).u8 = data + off;
159
1.03k
}
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_cnnp_dataframe_addons.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_cnnp_model.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_cnnp_model_addons.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_cnnp_model_gradient_checkpointing.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_gemm_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_adam.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_blas.c:ccv_nnc_tensor_data
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_data
Unexecuted instantiation: _ccv_nnc_gemm_cpu_sys.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_comm.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_compression.c:ccv_nnc_tensor_data
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_nnc_tensor_data
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_nnc_tensor_data
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_nnc_tensor_data
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_convolution.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_ew.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_mse.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_nms.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_norm.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_pad.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_pool.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_rand.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_relu.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_swish.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_nnc_tensor_data
Unexecuted instantiation: ccv_nnc_util.c:ccv_nnc_tensor_data
160
161
static inline void ccv_nnc_tensor_data_add(const ccv_nnc_tensor_param_t params, const off_t off, ccv_numeric_data_t* const data_ref, off_t* const dataof_ref)
162
636
{
163
#ifdef HAVE_MPS
164
  if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
165
  {
166
    (*dataof_ref) += off;
167
    return;
168
  }
169
#endif
170
636
  (*data_ref).u8 += off;
171
636
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_cmd.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_tensor.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_stream.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_micro.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_micro_simplify.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_graph.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_symbolic_graph.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_nnc_tensor_data_add
ccv_nnc_symbolic_graph_compile.c:ccv_nnc_tensor_data_add
Line
Count
Source
162
114
{
163
#ifdef HAVE_MPS
164
  if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
165
  {
166
    (*dataof_ref) += off;
167
    return;
168
  }
169
#endif
170
114
  (*data_ref).u8 += off;
171
114
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_backward.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_nnc_tensor_data_add
ccv_nnc_graph_while.c:ccv_nnc_tensor_data_add
Line
Count
Source
162
521
{
163
#ifdef HAVE_MPS
164
  if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
165
  {
166
    (*dataof_ref) += off;
167
    return;
168
  }
169
#endif
170
521
  (*data_ref).u8 += off;
171
521
}
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_symbolic_graph_parallel.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_symbolic_graph_simplify.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_nnc_tensor_data_add
ccv_nnc_dynamic_graph.c:ccv_nnc_tensor_data_add
Line
Count
Source
162
1
{
163
#ifdef HAVE_MPS
164
  if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
165
  {
166
    (*dataof_ref) += off;
167
    return;
168
  }
169
#endif
170
1
  (*data_ref).u8 += off;
171
1
}
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_cnnp_dataframe_addons.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_cnnp_model.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_cnnp_model_addons.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_cnnp_model_gradient_checkpointing.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_gemm_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_adam.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_blas.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: _ccv_nnc_gemm_cpu_sys.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_comm.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_compression.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_convolution.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_ew.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_mse.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_nms.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_norm.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_pad.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_pool.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_rand.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_relu.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_swish.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_nnc_tensor_data_add
Unexecuted instantiation: ccv_nnc_util.c:ccv_nnc_tensor_data_add
172
173
static inline void ccv_array_add_unique_int(ccv_array_t* ints, const int idx)
174
137k
{
175
137k
  int i;
176
444k
  for (i = 0; i < ints->rnum; 
i++307k
)
177
312k
    if (*(int*)ccv_array_get(ints, i) == idx)
178
5.51k
      return;
179
132k
  ccv_array_push(ints, &idx);
180
132k
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_cmd.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_tensor.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_stream.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_micro.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_array_add_unique_int
ccv_nnc_micro_simplify.c:ccv_array_add_unique_int
Line
Count
Source
174
204
{
175
204
  int i;
176
237
  for (i = 0; i < ints->rnum; 
i++33
)
177
33
    if (*(int*)ccv_array_get(ints, i) == idx)
178
0
      return;
179
204
  ccv_array_push(ints, &idx);
180
204
}
Unexecuted instantiation: ccv_nnc_graph.c:ccv_array_add_unique_int
ccv_nnc_symbolic_graph.c:ccv_array_add_unique_int
Line
Count
Source
174
26.3k
{
175
26.3k
  int i;
176
36.4k
  for (i = 0; i < ints->rnum; 
i++10.0k
)
177
10.1k
    if (*(int*)ccv_array_get(ints, i) == idx)
178
18
      return;
179
26.2k
  ccv_array_push(ints, &idx);
180
26.2k
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_array_add_unique_int
ccv_nnc_symbolic_graph_compile.c:ccv_array_add_unique_int
Line
Count
Source
174
21.0k
{
175
21.0k
  int i;
176
22.1k
  for (i = 0; i < ints->rnum; 
i++1.10k
)
177
1.10k
    if (*(int*)ccv_array_get(ints, i) == idx)
178
2
      return;
179
21.0k
  ccv_array_push(ints, &idx);
180
21.0k
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_backward.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_graph_while.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_array_add_unique_int
ccv_nnc_symbolic_graph_parallel.c:ccv_array_add_unique_int
Line
Count
Source
174
2.38k
{
175
2.38k
  int i;
176
265k
  for (i = 0; i < ints->rnum; 
i++263k
)
177
264k
    if (*(int*)ccv_array_get(ints, i) == idx)
178
1.05k
      return;
179
1.32k
  ccv_array_push(ints, &idx);
180
1.32k
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_simplify.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_array_add_unique_int
ccv_nnc_dynamic_graph.c:ccv_array_add_unique_int
Line
Count
Source
174
87.0k
{
175
87.0k
  int i;
176
115k
  for (i = 0; i < ints->rnum; 
i++28.0k
)
177
32.2k
    if (*(int*)ccv_array_get(ints, i) == idx)
178
4.21k
      return;
179
82.8k
  ccv_array_push(ints, &idx);
180
82.8k
}
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_cnnp_dataframe_addons.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_array_add_unique_int
ccv_cnnp_model.c:ccv_array_add_unique_int
Line
Count
Source
174
375
{
175
375
  int i;
176
4.10k
  for (i = 0; i < ints->rnum; 
i++3.72k
)
177
3.92k
    if (*(int*)ccv_array_get(ints, i) == idx)
178
195
      return;
179
180
  ccv_array_push(ints, &idx);
180
180
}
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_cnnp_model_addons.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_array_add_unique_int
ccv_cnnp_model_gradient_checkpointing.c:ccv_array_add_unique_int
Line
Count
Source
174
219
{
175
219
  int i;
176
1.32k
  for (i = 0; i < ints->rnum; 
i++1.10k
)
177
1.13k
    if (*(int*)ccv_array_get(ints, i) == idx)
178
29
      return;
179
190
  ccv_array_push(ints, &idx);
180
190
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_gemm_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_adam.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_blas.c:ccv_array_add_unique_int
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_array_add_unique_int
Unexecuted instantiation: _ccv_nnc_gemm_cpu_sys.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_comm.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_compression.c:ccv_array_add_unique_int
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_array_add_unique_int
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_array_add_unique_int
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_array_add_unique_int
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_convolution.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_ew.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_mse.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_nms.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_norm.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_pad.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_pool.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_rand.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_relu.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_swish.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_array_add_unique_int
Unexecuted instantiation: ccv_nnc_util.c:ccv_array_add_unique_int
181
182
static inline int ccv_array_contain_int(ccv_array_t* ints, const int idx)
183
112
{
184
112
  int i;
185
781
  for (i = 0; i < ints->rnum; 
i++669
)
186
728
    if (*(int*)ccv_array_get(ints, i) == idx)
187
59
      return 1;
188
53
  return 0;
189
112
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_cmd.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_tensor.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_stream.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_micro.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_micro_simplify.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_graph.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_symbolic_graph.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_compile.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_backward.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_graph_while.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_parallel.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_simplify.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_dynamic_graph.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_array_contain_int
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_array_contain_int
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_array_contain_int
Unexecuted instantiation: ccv_cnnp_dataframe_addons.c:ccv_array_contain_int
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_array_contain_int
Unexecuted instantiation: ccv_cnnp_model.c:ccv_array_contain_int
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_array_contain_int
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_array_contain_int
Unexecuted instantiation: ccv_cnnp_model_addons.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_array_contain_int
ccv_cnnp_model_gradient_checkpointing.c:ccv_array_contain_int
Line
Count
Source
183
112
{
184
112
  int i;
185
781
  for (i = 0; i < ints->rnum; 
i++669
)
186
728
    if (*(int*)ccv_array_get(ints, i) == idx)
187
59
      return 1;
188
53
  return 0;
189
112
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_gemm_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_adam.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_blas.c:ccv_array_contain_int
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_array_contain_int
Unexecuted instantiation: _ccv_nnc_gemm_cpu_sys.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_comm.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_compression.c:ccv_array_contain_int
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_array_contain_int
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_array_contain_int
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_array_contain_int
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_convolution.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_ew.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_mse.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_nms.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_norm.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_pad.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_pool.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_rand.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_relu.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_swish.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_array_contain_int
Unexecuted instantiation: ccv_nnc_util.c:ccv_array_contain_int
190
191
static inline void ccv_array_add_unique_uint(ccv_array_t* ints, const uint32_t idx)
192
5.64k
{
193
5.64k
  int i;
194
22.5k
  for (i = 0; i < ints->rnum; 
i++16.8k
)
195
19.1k
    if (*(uint32_t*)ccv_array_get(ints, i) == idx)
196
2.27k
      return;
197
3.37k
  ccv_array_push(ints, &idx);
198
3.37k
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_cmd.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_tensor.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_stream.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_micro.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_micro_simplify.c:ccv_array_add_unique_uint
ccv_nnc_graph.c:ccv_array_add_unique_uint
Line
Count
Source
192
5.64k
{
193
5.64k
  int i;
194
22.5k
  for (i = 0; i < ints->rnum; 
i++16.8k
)
195
19.1k
    if (*(uint32_t*)ccv_array_get(ints, i) == idx)
196
2.27k
      return;
197
3.37k
  ccv_array_push(ints, &idx);
198
3.37k
}
Unexecuted instantiation: ccv_nnc_symbolic_graph.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_symbolic_graph_compile.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_symbolic_graph_backward.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_graph_while.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_symbolic_graph_parallel.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_symbolic_graph_simplify.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_dynamic_graph.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_cnnp_dataframe_addons.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_cnnp_model.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_cnnp_model_addons.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_cnnp_model_gradient_checkpointing.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_gemm_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_adam.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_blas.c:ccv_array_add_unique_uint
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_array_add_unique_uint
Unexecuted instantiation: _ccv_nnc_gemm_cpu_sys.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_comm.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_compression.c:ccv_array_add_unique_uint
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_array_add_unique_uint
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_array_add_unique_uint
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_array_add_unique_uint
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_convolution.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_ew.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_mse.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_nms.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_norm.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_pad.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_pool.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_rand.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_relu.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_swish.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_array_add_unique_uint
Unexecuted instantiation: ccv_nnc_util.c:ccv_array_add_unique_uint
199
200
#ifdef __cplusplus
201
#define REGISTER_COMMAND_BACKEND(x, y) extern "C" void _register_command_ ## x ## _backend_ ## y
202
#define REGISTER_COMMAND(x) extern "C" void _register_command_ ## x
203
#else
204
#define REGISTER_COMMAND_BACKEND(x, y) void _register_command_ ## x ## _backend_ ## y
205
#define REGISTER_COMMAND(x) void _register_command_ ## x
206
#endif
207
#define FIND_BACKEND(...)
208
#define FIND_FILE(...)
209
210
// x is the dimension.
211
// n[x] is the start point for the filter on y axis, so that we can avoid computing the padding.
212
// m[x] shows how long we should loop for filter on y axis, avoid computing the padding too.
213
#define SET_BORDER_OFFSET_SIZE_FOR(x, i, hint, wd, ad, n, m) \
214
527M
  do { \
215
527M
    n[x] = ccv_max(i[x] * hint.stride.dim[x] - hint.border.begin[x], 0) - (i[x] * hint.stride.dim[x] - hint.border.begin[x]); \
216
527M
    m[x] = (wd)[x] - n[x] - (i[x] * hint.stride.dim[x] - hint.border.begin[x] + (wd)[x] - ccv_min((ad)[x], i[x] * hint.stride.dim[x] - hint.border.begin[x] + (wd)[x])); \
217
527M
  } while (0)
218
219
// Defines common graph visit macros
220
221
// The visitor function / macro takes parameter visitor(node_type* node, int index, int term);
222
#define CCV_NNC_GRAPH_VISIT(_graph, nodes, node_size, sources, source_size, destinations, destination_size, allow_subset, visitor) \
223
40.6k
  
do 15
{ \
224
40.6k
    /* Use the same data structure to do topological ordering. */ \
225
40.6k
    typedef struct { \
226
40.6k
      int8_t d; /* tag if this is the destination node. */ \
227
40.6k
      int8_t r; /* tag if this is reached as destination node. */ \
228
40.6k
      uint16_t c; /* number of incoming edges. */ \
229
40.6k
      int32_t edges; /* pointer to incoming edges list. */ \
230
40.6k
    } ccv_nnc_incoming_t; \
231
40.6k
    int _i_, _j_; \
232
40.6k
    /* Statistics of how many incoming edges for all nodes of a graph. */ \
233
40.6k
    int _incoming_edges_ = 0; \
234
256k
    for (_i_ = 0; _i_ < (node_size); 
_i_++216k
) /* assuming it is all reached */ \
235
216k
      _incoming_edges_ += ((nodes)[_i_].outgoings) ? 
(nodes)[_i_].outgoings->rnum163k
:
052.9k
; \
236
40.6k
    const int _heap_mem_ = ((node_size) + _incoming_edges_ > 1024); \
237
40.6k
    ccv_nnc_incoming_t* _incomings_; \
238
40.6k
    if (_heap_mem_) \
239
40.6k
      
_incomings_ = (ccv_nnc_incoming_t*)48
ccmalloc48
(sizeof(ccv_nnc_incoming_t) * (node_size) + sizeof(int32_t) * ((node_size) * 2 + _incoming_edges_)); \
240
40.6k
    else \
241
40.6k
      
_incomings_ = (ccv_nnc_incoming_t*)alloca40.5k
(sizeof(ccv_nnc_incoming_t) * (node_size) + sizeof(int32_t) * ((node_size) * 2 + _incoming_edges_)); \
242
40.6k
    memset(_incomings_, 0, sizeof(ccv_nnc_incoming_t) * (node_size)); \
243
40.6k
    int32_t* _exists_[2] = { \
244
40.6k
      (int32_t*)(_incomings_ + (node_size)), \
245
40.6k
      (int32_t*)(_incomings_ + (node_size)) + (node_size), \
246
40.6k
    }; \
247
40.6k
    int32_t* const _edges_ = _exists_[1] + (node_size); \
248
81.7k
    for (_i_ = 0; _i_ < (source_size); 
_i_++41.1k
) \
249
41.1k
    { \
250
41.1k
      assert((sources)[_i_].graph == _graph); \
251
41.1k
      _incomings_[(sources)[_i_].d].r = 1; \
252
41.1k
      _exists_[0][_i_] = (sources)[_i_].d; \
253
41.1k
    } \
254
40.6k
    int _exist_size_[2] = { \
255
40.6k
      (source_size), \
256
40.6k
      0, \
257
40.6k
    }; \
258
40.6k
    int _p_ = 0, _q_ = 1; /* ping, pong swap. */ \
259
40.6k
    /* Gather statistics. */ \
260
179k
    while (_exist_size_[_p_] > 0) \
261
139k
    { \
262
139k
      _exist_size_[_q_] = 0; \
263
332k
      for (_i_ = 0; _i_ < _exist_size_[_p_]; 
_i_++193k
) \
264
193k
      { \
265
193k
        const int32_t _idx_ = _exists_[_p_][_i_]; \
266
193k
        if (_incomings_[_idx_].r != 1) \
267
193k
          
continue0
; \
268
193k
        _incomings_[_idx_].r = 2; \
269
193k
        /* mark as not reached */ \
270
193k
        if ((nodes)[_idx_].outgoings) \
271
333k
          
for (_j_ = 0; 142k
_j_ < (nodes)[_idx_].outgoings->rnum;
_j_++191k
) \
272
191k
          { \
273
191k
            const int d = *(int*)ccv_array_get((nodes)[_idx_].outgoings, _j_); \
274
191k
            ++_incomings_[d].c; \
275
191k
            if (_incomings_[d].r != 0) \
276
191k
              
continue39.1k
; \
277
191k
            _incomings_[d].r = 1; \
278
152k
            assert(_exist_size_[_q_] < (node_size)); \
279
152k
            _exists_[_q_][_exist_size_[_q_]] = d; \
280
152k
            ++_exist_size_[_q_]; \
281
152k
          } \
282
193k
      } \
283
139k
      /* swap p and q. */ \
284
139k
      CCV_SWAP(_p_, _q_, _i_ /* using i as temp holder */); \
285
139k
    } \
286
40.6k
    /* Fill incoming edges. */ \
287
81.7k
    
for (_i_ = 0; 40.6k
_i_ < (source_size);
_i_++41.1k
) \
288
41.1k
    { \
289
41.1k
      assert((sources)[_i_].graph == _graph); \
290
41.1k
      _incomings_[(sources)[_i_].d].r = 3; \
291
41.1k
      _exists_[0][_i_] = (sources)[_i_].d; \
292
41.1k
    } \
293
40.6k
    _exist_size_[0] = (source_size); \
294
40.6k
    _exist_size_[1] = 0; \
295
40.6k
    _p_ = 0, _q_ = 1; /* ping, pong swap. */ \
296
40.6k
    int _bump_ = 1; \
297
179k
    while (_exist_size_[_p_] > 0) \
298
139k
    { \
299
139k
      _exist_size_[_q_] = 0; \
300
332k
      for (_i_ = 0; _i_ < _exist_size_[_p_]; 
_i_++193k
) \
301
193k
      { \
302
193k
        const int32_t _idx_ = _exists_[_p_][_i_]; \
303
193k
        if (_incomings_[_idx_].r != 3) \
304
193k
          
continue0
; \
305
193k
        _incomings_[_idx_].r = 4; \
306
193k
        /* mark as not reached */ \
307
193k
        if ((nodes)[_idx_].outgoings) \
308
333k
          
for (_j_ = 0; 142k
_j_ < (nodes)[_idx_].outgoings->rnum;
_j_++191k
) \
309
191k
          { \
310
191k
            const int d = *(int*)ccv_array_get((nodes)[_idx_].outgoings, _j_); \
311
191k
            if (_incomings_[d].edges == 0) \
312
191k
            { \
313
152k
              _incomings_[d].edges = _bump_; \
314
152k
              _bump_ += _incomings_[d].c; \
315
152k
              _incomings_[d].c = 0; \
316
152k
            } \
317
191k
            _edges_[_incomings_[d].edges - 1 + _incomings_[d].c] = _idx_; \
318
191k
            ++_incomings_[d].c; \
319
191k
            if (_incomings_[d].r != 2) \
320
191k
              
continue39.1k
; \
321
191k
            _incomings_[d].r = 3; \
322
152k
            assert(_exist_size_[_q_] < (node_size)); \
323
152k
            _exists_[_q_][_exist_size_[_q_]] = d; \
324
152k
            ++_exist_size_[_q_]; \
325
152k
          } \
326
193k
      } \
327
139k
      /* swap p and q. */ \
328
139k
      CCV_SWAP(_p_, _q_, _i_ /* using i as temp holder */); \
329
139k
    } \
330
40.6k
    /* Traverse back and mark r if it can be marked */ \
331
91.3k
    
for (_i_ = 0; 40.6k
_i_ < (destination_size);
_i_++50.7k
) \
332
50.7k
    { \
333
50.7k
      assert((destinations)[_i_].graph == _graph); \
334
50.7k
      _incomings_[(destinations)[_i_].d].r = 5; \
335
50.7k
      _exists_[0][_i_] = (destinations)[_i_].d; \
336
50.7k
    } \
337
40.6k
    _exist_size_[0] = (destination_size); \
338
40.6k
    _exist_size_[1] = 0; \
339
40.6k
    _p_ = 0, _q_ = 1; /* ping, pong swap. */ \
340
179k
    while (_exist_size_[_p_] > 0) \
341
139k
    { \
342
139k
      _exist_size_[_q_] = 0; \
343
329k
      for (_i_ = 0; _i_ < _exist_size_[_p_]; 
_i_++190k
) \
344
190k
      { \
345
190k
        const int32_t _idx_ = _exists_[_p_][_i_]; \
346
190k
        if (_incomings_[_idx_].r != 5) /* If cannot be traversed in forward pass, cannot in backward pass. */ \
347
190k
          
continue0
; \
348
190k
        _incomings_[_idx_].r = 6; \
349
190k
        /* mark as not reached */ \
350
190k
        if (_incomings_[_idx_].edges > 0) \
351
334k
          
for (_j_ = 0; 149k
_j_ < _incomings_[_idx_].c;
_j_++185k
) \
352
185k
          { \
353
185k
            const int d = _edges_[_incomings_[_idx_].edges - 1 + _j_]; \
354
185k
            if (_incomings_[d].r != 4) \
355
185k
              
continue45.3k
; \
356
185k
            _incomings_[d].r = 5; \
357
139k
            assert(_exist_size_[_q_] < (node_size)); \
358
139k
            _exists_[_q_][_exist_size_[_q_]] = d; \
359
139k
            ++_exist_size_[_q_]; \
360
139k
          } \
361
190k
      } \
362
139k
      /* swap p and q. */ \
363
139k
      CCV_SWAP(_p_, _q_, _i_ /* using i as temp holder */); \
364
139k
    } \
365
91.3k
    
for (_i_ = 0; 40.6k
_i_ < (destination_size);
_i_++50.7k
) \
366
50.7k
    { \
367
50.7k
      assert((destinations)[_i_].graph == _graph); \
368
50.7k
      /* tagging destination nodes. */ \
369
50.7k
      _incomings_[(destinations)[_i_].d].d = 1; \
370
50.7k
    } \
371
81.7k
    
for (_i_ = 0; 40.6k
_i_ < (source_size);
_i_++41.1k
) \
372
41.1k
    { \
373
41.1k
      assert((sources)[_i_].graph == _graph); \
374
41.1k
      _exists_[0][_i_] = (sources)[_i_].d; \
375
41.1k
    } \
376
40.6k
    _p_ = 0; \
377
40.6k
    _q_ = 1; \
378
40.6k
    _exist_size_[0] = (source_size); \
379
40.6k
    _exist_size_[1] = 0; \
380
40.6k
    int _d_ = 0; \
381
40.6k
    /* After we have that statistics, we can do topsort and run the command. */ \
382
100k
    while (_exist_size_[_p_] > 0) \
383
60.0k
    { \
384
60.0k
      _exist_size_[_q_] = 0; \
385
250k
      for (_i_ = 0; _i_ < _exist_size_[_p_];) \
386
190k
      { \
387
190k
        const int32_t _idx_ = _exists_[_p_][_i_]; \
388
190k
        visitor(((nodes) + _idx_), (_idx_), (_incomings_[_idx_].d)); \
389
190k
        /* mark as reached */ \
390
190k
        if (_incomings_[_idx_].d) \
391
190k
        { \
392
50.7k
          ++_d_; \
393
50.7k
          _incomings_[_idx_].r = 7; \
394
50.7k
        } \
395
190k
        if ((nodes)[_idx_].outgoings) \
396
190k
        { \
397
140k
          if ((nodes)[_idx_].outgoings->rnum == 1) \
398
140k
          { \
399
110k
            /* Optimizing for the case have only one child. Go through that directly. */ \
400
110k
            const int d = *(int*)ccv_array_get((nodes)[_idx_].outgoings, 0); \
401
110k
            --_incomings_[d].c; \
402
110k
            if (_incomings_[d].c == 0 && 
_incomings_[d].r == 6107k
&&
_d_ < (destination_size)107k
) \
403
110k
            { \
404
107k
              _exists_[_p_][_i_] = d; \
405
107k
              continue; \
406
107k
            } \
407
110k
          } else \
408
140k
            
for (_j_ = 0; 29.6k
_j_ < (nodes)[_idx_].outgoings->rnum106k
;
_j_++77.1k
) \
409
77.1k
            { \
410
77.1k
              const int d = *(int*)ccv_array_get((nodes)[_idx_].outgoings, _j_); \
411
77.1k
              --_incomings_[d].c; \
412
77.1k
              /* If all incoming edges are consumed, and not all destination node are computed, push it into next round */ \
413
77.1k
              if (_incomings_[d].c == 0 && 
_incomings_[d].r == 642.5k
&&
_d_ < (destination_size)42.2k
) \
414
77.1k
              { \
415
42.2k
                assert(_exist_size_[_q_] < (node_size)); \
416
42.2k
                _exists_[_q_][_exist_size_[_q_]] = d; \
417
42.2k
                ++_exist_size_[_q_]; \
418
42.2k
              } \
419
77.1k
            } \
420
140k
        } \
421
190k
        ++_i_; \
422
83.4k
      } \
423
60.0k
      /* swap p and q. */ \
424
60.0k
      CCV_SWAP(_p_, _q_, _i_ /* using i as temp holder */); \
425
60.0k
    } \
426
91.3k
    
for (_i_ = 0; 40.6k
_i_ < (destination_size);
_i_++50.7k
) \
427
50.7k
    { \
428
50.7k
      assert((destinations)[_i_].graph == _graph); \
429
50.7k
      /* skip if this is already reached. */ \
430
50.7k
      if (_incomings_[(destinations)[_i_].d].r == 7) \
431
50.7k
        
continue50.7k
; \
432
50.7k
      /* this destination node should have every incoming nodes consumed. */ \
433
50.7k
      
if (25
!(allow_subset)25
) \
434
25
        { assert(_incomings_[(destinations)[_i_].d].c == 0); } \
435
25
      else 
if (0
_incomings_[(destinations)[_i_].d].c > 00
) /* Otherwise if incoming is not satisfied, no need to execute (allow subset to get executed, that is). */ \
436
0
        continue; \
437
25
      /* fetch the info for destination node and exec current node. */ \
438
25
      visitor(((nodes) + (destinations)[_i_].d), ((destinations)[_i_].d), (_incomings_[(destinations)[_i_].d].d)); \
439
25
    } \
440
40.6k
    if (_heap_mem_) \
441
40.6k
      
ccfree48
(_incomings_)48
; \
442
40.6k
  } while (0);
443
444
typedef struct {
445
  int size;
446
  struct {
447
    int index;
448
    int term;
449
  } node[1];
450
} ccv_nnc_graph_visit_t;
451
452
static inline void ccv_nnc_graph_visit_free(ccv_nnc_graph_visit_t* graph_visit)
453
40.0k
{
454
40.0k
  ccfree(graph_visit);
455
40.0k
}
Unexecuted instantiation: mpsdnn.tests.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_cmd.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_tensor.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_tensor_io.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_stream.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_micro.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_micro_core.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_micro_interpret.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_micro_simplify.c:ccv_nnc_graph_visit_free
ccv_nnc_graph.c:ccv_nnc_graph_visit_free
Line
Count
Source
453
6.64k
{
454
6.64k
  ccfree(graph_visit);
455
6.64k
}
ccv_nnc_symbolic_graph.c:ccv_nnc_graph_visit_free
Line
Count
Source
453
8.85k
{
454
8.85k
  ccfree(graph_visit);
455
8.85k
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_io.c:ccv_nnc_graph_visit_free
ccv_nnc_symbolic_graph_compile.c:ccv_nnc_graph_visit_free
Line
Count
Source
453
6.24k
{
454
6.24k
  ccfree(graph_visit);
455
6.24k
}
ccv_nnc_symbolic_graph_backward.c:ccv_nnc_graph_visit_free
Line
Count
Source
453
13.5k
{
454
13.5k
  ccfree(graph_visit);
455
13.5k
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_while.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_graph_while.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_tensor_tape.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_symbolic_graph_case_of.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_graph_case_of.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_symbolic_graph_minimize.c:ccv_nnc_graph_visit_free
ccv_nnc_symbolic_graph_parallel.c:ccv_nnc_graph_visit_free
Line
Count
Source
453
17
{
454
17
  ccfree(graph_visit);
455
17
}
ccv_nnc_symbolic_graph_simplify.c:ccv_nnc_graph_visit_free
Line
Count
Source
453
4.59k
{
454
4.59k
  ccfree(graph_visit);
455
4.59k
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_compression.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_symbolic_graph_memory_reduction.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_graph_run.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_xpu_alloc.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_dynamic_graph.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_dynamic_graph_alloc.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_dynamic_graph_backward.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_dynamic_graph_apply_gradients.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_dynamic_graph_minimize.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_dynamic_graph_evaluate.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_cnnp_dataframe.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_cnnp_dataframe_core.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_cnnp_dataframe_addons.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_cnnp_dataframe_csv.c:ccv_nnc_graph_visit_free
ccv_cnnp_model.c:ccv_nnc_graph_visit_free
Line
Count
Source
453
87
{
454
87
  ccfree(graph_visit);
455
87
}
Unexecuted instantiation: ccv_cnnp_model_io.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_cnnp_model_core.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_cnnp_model_addons.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_palettize.c:ccv_nnc_graph_visit_free
ccv_cnnp_model_gradient_checkpointing.c:ccv_nnc_graph_visit_free
Line
Count
Source
453
2
{
454
2
  ccfree(graph_visit);
455
2
}
Unexecuted instantiation: ccv_nnc_symbolic_graph_chain_decomposition.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_adam_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_adamw_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_gemm_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_gemm_cpu_opt.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_add_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_mul_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_cmul_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_min_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_max_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_lssc_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_conv_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_conv_cpu_opt.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_conv_transpose_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_dropout_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_ew_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_histogram_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_index_select_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_reduce_isnan_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_lamb_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_leaky_relu_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_binary_crossentropy_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_categorical_crossentropy_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_mse_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_smooth_l1_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_nms_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_batch_norm_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_layer_norm_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_group_norm_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_rmsnorm_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_pad_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_max_pool_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_avg_pool_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_rand_uniform_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_rand_normal_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_reduce_sum_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_reduce_mean_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_reduce_max_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_reduce_min_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_reduce_norm2_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_argmax_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_argmin_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_relu_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_rmsprop_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_roi_align_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_sgd_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_sigmoid_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_softmax_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_softmax_crossentropy_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_swish_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_tanh_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_upsample_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_util_cpu_ref.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_adam.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_blas.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: _ccv_nnc_gemm_cpu_opt.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: _ccv_nnc_gemm_cpu_sys.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_comm.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_cmp.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_compression.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: _ccv_nnc_conv_cpu_4x4_3x3_winograd.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: _ccv_nnc_conv_cpu_fft.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: _ccv_nnc_conv_cpu_gemm.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: _ccv_nnc_conv_cpu_opt.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_convolution.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_dropout.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_ew.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_histogram.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_index_select.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_reduce_isnan.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_lamb.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_leaky_relu.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_binary_crossentropy.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_categorical_crossentropy.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_mse.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_smooth_l1.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_nms.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_norm.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_pad.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_pool.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_rand.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_reduce.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_relu.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_rmsprop.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_lstm.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_roi_align.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_scaled_dot_product_attention.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_sgd.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_sigmoid.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_sigmoid_binary_crossentropy.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_softmax.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_softmax_crossentropy.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_swish.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_tanh.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_upsample.c:ccv_nnc_graph_visit_free
Unexecuted instantiation: ccv_nnc_util.c:ccv_nnc_graph_visit_free
456
457
178k
#define CCV_NNC_GRAPH_VISIT_FOR1(graph_visit, nodes, _node_, _index_, _term_, ...) { \
458
178k
  int _i_; \
459
904k
  for (_i_ = 0; _i_ < (graph_visit)->size; 
_i_++726k
) { \
460
726k
    const int _index_ __attribute__((unused)) = (graph_visit)->node[_i_].index; \
461
726k
    const int _term_ __attribute__((unused)) = (graph_visit)->node[_i_].term; \
462
726k
    typeof ((nodes)) const _node_ __attribute__((unused)) = (nodes) + _index_; \
463
464
#define ccv_nnc_graph_visit_for(graph_visit, nodes, ...) \
465
178k
  CCV_NNC_GRAPH_VISIT_FOR1(graph_visit, nodes, ##__VA_ARGS__, _node_unused_, _index_unused_, _term_unused_)
466
467
2
#define CCV_NNC_GRAPH_VISIT_FOR1_REVERSED(graph_visit, nodes, _node_, _index_, _term_, ...) { \
468
2
  int _i_; \
469
18
  for (_i_ = (graph_visit)->size - 1; _i_ >= 0; 
_i_--16
) { \
470
16
    const int _index_ __attribute__((unused)) = (graph_visit)->node[_i_].index; \
471
16
    const int _term_ __attribute__((unused)) = (graph_visit)->node[_i_].term; \
472
16
    typeof ((nodes)) const _node_ __attribute__((unused)) = (nodes) + _index_; \
473
474
#define ccv_nnc_graph_visit_for_reversed(graph_visit, nodes, ...) \
475
2
  CCV_NNC_GRAPH_VISIT_FOR1_REVERSED(graph_visit, nodes, ##__VA_ARGS__, _node_unused_, _index_unused_, _term_unused_)
476
477
706k
#define ccv_nnc_graph_visit_endfor } }
478
479
#define CCV_NNC_GRAPH_VISIT_NEW_VISITOR1(_, _index_, _term_) \
480
182k
  _visit_->node[_visit_->size].index = (_index_); \
481
182k
  _visit_->node[_visit_->size].term = (_term_); \
482
182k
  ++_visit_->size;
483
484
40.0k
#define ccv_nnc_graph_visit_new(_graph, nodes, node_size, sources, source_size, destinations, destination_size, allow_subset) ({\
485
40.0k
  ccv_nnc_graph_visit_t* _visit_ = (ccv_nnc_graph_visit_t*)ccmalloc(sizeof(ccv_nnc_graph_visit_t) + sizeof(_visit_->node[0]) * ((node_size) - 1)); \
486
40.0k
  _visit_->size = 0; \
487
182k
  
CCV_NNC_GRAPH_VISIT40.0k
(_graph, nodes, node_size, sources, source_size, destinations, destination_size, allow_subset, CCV_NNC_GRAPH_VISIT_NEW_VISITOR1); \
488
40.0k
  assert(_visit_->size <= (node_size)); \
489
40.0k
  _visit_; \
490
40.0k
})
491
492
#endif