## Coverage Report

#### Created: 2026-05-04 15:30

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
    void ccv_nnc_drain_autotune_cache(void);
    18
    19
    // Define some internal constraints
    20
    21
    #define CCV_NNC_STACK_BITMASK_ALLOC (2)
    22
    792
    #define CCV_NNC_TENSOR_PLACEHOLDER ((ccv_nnc_tensor_t*)(intptr_t)(0x10))
    23
    24
    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);
    25
    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);
    26
    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);
    27
    28
    typedef struct {
    29
      int flags;
    30
      ccv_nnc_cmd_bitmask_f bitmask;
    31
      ccv_nnc_cmd_tensor_auto_f tensor_auto;
    32
      ccv_nnc_cmd_inplace_f allow_inplace;
    33
      ccv_nnc_cmd_inplace_f enforce_inplace;
    34
    } ccv_nnc_cmd_registry_t;
    35
    36
    typedef struct {
    37
      int tensor_formats; /**< [formats] The supported formats for this API implementation. */
    38
      int tensor_datatypes; /**< [datatypes] The supported data types for this API implementation. */
    39
      int tensor_memory; /**< [memory] The supported tensor memory type for this API implementation. */
    40
      int algorithms; /**< [algorithms] Number of algorithms variation. */
    41
      ccv_nnc_cmd_exec_f exec; /**< [exec] The function for command execution. */
    42
      ccv_nnc_cmd_autotune_f autotune; /**< [autotune] The function to find the best algorithm to apply. */
    43
      void* aux; /**< [aux] The additional information available for a particular command under a particular backend. */
    44
    } ccv_nnc_cmd_backend_registry_t;
    45
    46
    static inline int ccv_nnc_tensor_hw(const ccv_nnc_tensor_param_t a, const int nd, const int size_nd)
    47
    4.37k
    {
    48
    4.37k
      if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
    49
    4.37k
        (a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 1265))
    50
    101
        return 0;
    51
    4.27k
      else if ((a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 2164) ||
    52
    4.27k
           (4.11ka.format == CCV_TENSOR_FORMAT_NCHW4.11k && nd == size_nd + 14.11k))
    53
    168
        return 1;
    54
    4.10k
      else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
    55
    4.10k
        return 2;
    56
    0
      return -1;
    57
    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
    47
    27
    {
    48
    27
      if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
    49
    27
        (a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 1))
    50
    27
        return 0;
    51
    0
      else if ((a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 2) ||
    52
    0
           (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 1))
    53
    0
        return 1;
    54
    0
      else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
    55
    0
        return 2;
    56
    0
      return -1;
    57
    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
    47
    108
    {
    48
    108
      if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
    49
    108
        (a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 112))
    50
    0
        return 0;
    51
    108
      else if ((a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 212) ||
    52
    108
           (96a.format == CCV_TENSOR_FORMAT_NCHW96 && nd == size_nd + 196))
    53
    12
        return 1;
    54
    96
      else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
    55
    96
        return 2;
    56
    0
      return -1;
    57
    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_segmented_gemm_cpu_ref.c:ccv_nnc_tensor_hw
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_nnc_tensor_hw
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_cpu_ref.c:ccv_nnc_tensor_hw
    Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_nnc_tensor_hw
    Unexecuted instantiation: ccv_nnc_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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_rotate_half.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
    47
    10
    {
    48
    10
      if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
    49
    10
        (a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 10))
    50
    0
        return 0;
    51
    10
      else if ((a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 20) ||
    52
    10
           (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 1))
    53
    2
        return 1;
    54
    8
      else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
    55
    8
        return 2;
    56
    0
      return -1;
    57
    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
    47
    2.19k
    {
    48
    2.19k
      if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
    49
    2.19k
        (a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 1124))
    50
    53
        return 0;
    51
    2.13k
      else if ((a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 271) ||
    52
    2.13k
           (2.06ka.format == CCV_TENSOR_FORMAT_NCHW2.06k && nd == size_nd + 12.06k))
    53
    71
        return 1;
    54
    2.06k
      else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
    55
    2.06k
        return 2;
    56
    0
      return -1;
    57
    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_gated_delta.c:ccv_nnc_tensor_hw
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_hw
    Unexecuted instantiation: ccv_nnc_grid_sample.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
    Unexecuted instantiation: ccv_nnc_partition.c:ccv_nnc_tensor_hw

    ccv_nnc_pool.c:ccv_nnc_tensor_hw

    Line
    Count
    Source
    47
    2.03k
    {
    48
    2.03k
      if ((a.format == CCV_TENSOR_FORMAT_CHWN) ||
    49
    2.03k
        (a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 1102))
    50
    21
        return 0;
    51
    2.01k
      else if ((a.format == CCV_TENSOR_FORMAT_NHWC && nd == size_nd + 281) ||
    52
    2.01k
           (1.93ka.format == CCV_TENSOR_FORMAT_NCHW1.93k && nd == size_nd + 11.93k))
    53
    83
        return 1;
    54
    1.93k
      else if (a.format == CCV_TENSOR_FORMAT_NCHW && nd == size_nd + 2)
    55
    1.93k
        return 2;
    56
    0
      return -1;
    57
    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_scatter_add.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_sort.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_unique_consecutive.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
    58
    59
    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)
    60
    3.29k
    {
    61
    3.29k
      int i;
    62
    3.29k
      assert(a.format == b->format);
    63
    3.29k
      const int nd = ccv_nnc_tensor_nd(a.dim);
    64
    3.29k
      const int size_nd = ccv_nnc_tensor_nd(cmd.size.dim) - 1;
    65
    3.29k
      assert(size_nd == 2 || size_nd == 3); // Support 3D convolution.
    66
    3.29k
      assert(nd == size_nd + 1 || nd == size_nd + 2);
    67
    3.29k
      int hw = ccv_nnc_tensor_hw(a, nd, size_nd);
    68
    3.29k
      assert(hw >= 0);
    69
    9.89k
      for (i = 0; 3.29ki < size_nd; i++6.59k)
    70
    6.59k
      {
    71
    6.59k
        int stride = ccv_max(1, hint.stride.dim[i]);
    72
    6.59k
        b->dim[i + hw] = (a.dim[i + hw] + hint.border.begin[i] + hint.border.end[i] - cmd.size.dim[i]) / stride + 1;
    73
    6.59k
      }
    74
    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_segmented_gemm_cpu_ref.c:ccv_nnc_hint_tensor_forward
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_nnc_hint_tensor_forward
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_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_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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_rotate_half.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
    60
    2.19k
    {
    61
    2.19k
      int i;
    62
    2.19k
      assert(a.format == b->format);
    63
    2.19k
      const int nd = ccv_nnc_tensor_nd(a.dim);
    64
    2.19k
      const int size_nd = ccv_nnc_tensor_nd(cmd.size.dim) - 1;
    65
    2.19k
      assert(size_nd == 2 || size_nd == 3); // Support 3D convolution.
    66
    2.19k
      assert(nd == size_nd + 1 || nd == size_nd + 2);
    67
    2.19k
      int hw = ccv_nnc_tensor_hw(a, nd, size_nd);
    68
    2.19k
      assert(hw >= 0);
    69
    6.57k
      for (i = 0; 2.19ki < size_nd; i++4.38k)
    70
    4.38k
      {
    71
    4.38k
        int stride = ccv_max(1, hint.stride.dim[i]);
    72
    4.38k
        b->dim[i + hw] = (a.dim[i + hw] + hint.border.begin[i] + hint.border.end[i] - cmd.size.dim[i]) / stride + 1;
    73
    4.38k
      }
    74
    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_gated_delta.c:ccv_nnc_hint_tensor_forward
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_hint_tensor_forward
    Unexecuted instantiation: ccv_nnc_grid_sample.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
    Unexecuted instantiation: ccv_nnc_partition.c:ccv_nnc_hint_tensor_forward

    ccv_nnc_pool.c:ccv_nnc_hint_tensor_forward

    Line
    Count
    Source
    60
    1.10k
    {
    61
    1.10k
      int i;
    62
    1.10k
      assert(a.format == b->format);
    63
    1.10k
      const int nd = ccv_nnc_tensor_nd(a.dim);
    64
    1.10k
      const int size_nd = ccv_nnc_tensor_nd(cmd.size.dim) - 1;
    65
    1.10k
      assert(size_nd == 2 || size_nd == 3); // Support 3D convolution.
    66
    1.10k
      assert(nd == size_nd + 1 || nd == size_nd + 2);
    67
    1.10k
      int hw = ccv_nnc_tensor_hw(a, nd, size_nd);
    68
    1.10k
      assert(hw >= 0);
    69
    3.31k
      for (i = 0; 1.10ki < size_nd; i++2.21k)
    70
    2.21k
      {
    71
    2.21k
        int stride = ccv_max(1, hint.stride.dim[i]);
    72
    2.21k
        b->dim[i + hw] = (a.dim[i + hw] + hint.border.begin[i] + hint.border.end[i] - cmd.size.dim[i]) / stride + 1;
    73
    2.21k
      }
    74
    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_scatter_add.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_sort.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_unique_consecutive.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
    75
    76
    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)
    77
    933
    {
    78
    933
      int i;
    79
    933
      assert(a.format == b->format);
    80
    933
      const int nd = ccv_nnc_tensor_nd(a.dim);
    81
    933
      const int size_nd = ccv_nnc_tensor_nd(cmd.size.dim) - 1;
    82
    933
      assert(size_nd == 2 || size_nd == 3); // Support 3D convolution.
    83
    933
      assert(nd == size_nd + 1 || nd == size_nd + 2);
    84
    933
      int hw = ccv_nnc_tensor_hw(a, nd, size_nd);
    85
    933
      assert(hw >= 0);
    86
    2.79k
      for (i = 0; 933i < size_nd; i++1.86k)
    87
    1.86k
      {
    88
    1.86k
        int stride = ccv_max(1, hint.stride.dim[i]);
    89
    1.86k
        b->dim[i + hw] = (a.dim[i + hw] - 1) * stride - hint.border.begin[i] - hint.border.end[i] + cmd.size.dim[i];
    90
    1.86k
      }
    91
    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_segmented_gemm_cpu_ref.c:ccv_nnc_hint_tensor_backward
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_nnc_hint_tensor_backward
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_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_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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_rotate_half.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_gated_delta.c:ccv_nnc_hint_tensor_backward
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_hint_tensor_backward
    Unexecuted instantiation: ccv_nnc_grid_sample.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
    Unexecuted instantiation: ccv_nnc_partition.c:ccv_nnc_hint_tensor_backward

    ccv_nnc_pool.c:ccv_nnc_hint_tensor_backward

    Line
    Count
    Source
    77
    933
    {
    78
    933
      int i;
    79
    933
      assert(a.format == b->format);
    80
    933
      const int nd = ccv_nnc_tensor_nd(a.dim);
    81
    933
      const int size_nd = ccv_nnc_tensor_nd(cmd.size.dim) - 1;
    82
    933
      assert(size_nd == 2 || size_nd == 3); // Support 3D convolution.
    83
    933
      assert(nd == size_nd + 1 || nd == size_nd + 2);
    84
    933
      int hw = ccv_nnc_tensor_hw(a, nd, size_nd);
    85
    933
      assert(hw >= 0);
    86
    2.79k
      for (i = 0; 933i < size_nd; i++1.86k)
    87
    1.86k
      {
    88
    1.86k
        int stride = ccv_max(1, hint.stride.dim[i]);
    89
    1.86k
        b->dim[i + hw] = (a.dim[i + hw] - 1) * stride - hint.border.begin[i] - hint.border.end[i] + cmd.size.dim[i];
    90
    1.86k
      }
    91
    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_scatter_add.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_sort.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_unique_consecutive.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
    92
    93
    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);
    94
    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);
    95
    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);
    96
    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);
    97
    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);
    98
    void ccv_nnc_print_tensor_shape(const ccv_nnc_tensor_t* const tensor);
    99
    void ccv_nnc_print_tensor_info(const ccv_nnc_tensor_t* const tensor);
    100
    101
    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])
    102
    2.19k
    {
    103
    2.19k
      int i;
    104
    2.19k
      int nd = ccv_nnc_tensor_nd(stride);
    105
    2.19k
      off_t offset = 0;
    106
    4.69k
      for (i = nd - 1; i >= 0; i--2.50k)
    107
    2.50k
        offset += ofs[i] * stride[i] * CCV_GET_DATA_TYPE_SIZE(datatype);
    108
    2.19k
      return offset;
    109
    2.19k
    }
    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
    102
    189
    {
    103
    189
      int i;
    104
    189
      int nd = ccv_nnc_tensor_nd(stride);
    105
    189
      off_t offset = 0;
    106
    690
      for (i = nd - 1; i >= 0; i--501)
    107
    501
        offset += ofs[i] * stride[i] * CCV_GET_DATA_TYPE_SIZE(datatype);
    108
    189
      return offset;
    109
    189
    }
    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
    102
    2.00k
    {
    103
    2.00k
      int i;
    104
    2.00k
      int nd = ccv_nnc_tensor_nd(stride);
    105
    2.00k
      off_t offset = 0;
    106
    4.00k
      for (i = nd - 1; i >= 0; i--2.00k)
    107
    2.00k
        offset += ofs[i] * stride[i] * CCV_GET_DATA_TYPE_SIZE(datatype);
    108
    2.00k
      return offset;
    109
    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
    102
    1
    {
    103
    1
      int i;
    104
    1
      int nd = ccv_nnc_tensor_nd(stride);
    105
    1
      off_t offset = 0;
    106
    3
      for (i = nd - 1; i >= 0; i--2)
    107
    2
        offset += ofs[i] * stride[i] * CCV_GET_DATA_TYPE_SIZE(datatype);
    108
    1
      return offset;
    109
    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_segmented_gemm_cpu_ref.c:ccv_nnc_tensor_view_offset
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_nnc_tensor_view_offset
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_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_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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_rotate_half.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_gated_delta.c:ccv_nnc_tensor_view_offset
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_view_offset
    Unexecuted instantiation: ccv_nnc_grid_sample.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_partition.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_scatter_add.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_sort.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_unique_consecutive.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
    110
    111
    static inline void ccv_nnc_tensor_get_stride(const int dim[CCV_NNC_MAX_DIM_ALLOC], int stride[CCV_NNC_MAX_DIM_ALLOC])
    112
    100k
    {
    113
    100k
      int x;
    114
    100k
      const int nd = ccv_nnc_tensor_nd(dim);
    115
    100k
      if (nd < CCV_NNC_MAX_DIM_ALLOC)
    116
    100k
        stride[nd] = 0;
    117
    100k
      int cstride = 1;
    118
    265k
      for (x = nd - 1; x >= 0; x--164k)
    119
    164k
      {
    120
    164k
        stride[x] = cstride;
    121
    164k
        cstride *= dim[x];
    122
    164k
      }
    123
    100k
    }
    Unexecuted instantiation: mpsdnn.tests.c:ccv_nnc_tensor_get_stride

    ccv_nnc_cmd.c:ccv_nnc_tensor_get_stride

    Line
    Count
    Source
    112
    3
    {
    113
    3
      int x;
    114
    3
      const int nd = ccv_nnc_tensor_nd(dim);
    115
    3
      if (nd < CCV_NNC_MAX_DIM_ALLOC)
    116
    3
        stride[nd] = 0;
    117
    3
      int cstride = 1;
    118
    6
      for (x = nd - 1; x >= 0; x--3)
    119
    3
      {
    120
    3
        stride[x] = cstride;
    121
    3
        cstride *= dim[x];
    122
    3
      }
    123
    3
    }

    ccv_nnc_tensor.c:ccv_nnc_tensor_get_stride

    Line
    Count
    Source
    112
    4
    {
    113
    4
      int x;
    114
    4
      const int nd = ccv_nnc_tensor_nd(dim);
    115
    4
      if (nd < CCV_NNC_MAX_DIM_ALLOC)
    116
    4
        stride[nd] = 0;
    117
    4
      int cstride = 1;
    118
    13
      for (x = nd - 1; x >= 0; x--9)
    119
    9
      {
    120
    9
        stride[x] = cstride;
    121
    9
        cstride *= dim[x];
    122
    9
      }
    123
    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
    112
    33
    {
    113
    33
      int x;
    114
    33
      const int nd = ccv_nnc_tensor_nd(dim);
    115
    33
      if (nd < CCV_NNC_MAX_DIM_ALLOC)
    116
    33
        stride[nd] = 0;
    117
    33
      int cstride = 1;
    118
    107
      for (x = nd - 1; x >= 0; x--74)
    119
    74
      {
    120
    74
        stride[x] = cstride;
    121
    74
        cstride *= dim[x];
    122
    74
      }
    123
    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
    112
    1.08k
    {
    113
    1.08k
      int x;
    114
    1.08k
      const int nd = ccv_nnc_tensor_nd(dim);
    115
    1.08k
      if (nd < CCV_NNC_MAX_DIM_ALLOC)
    116
    1.08k
        stride[nd] = 0;
    117
    1.08k
      int cstride = 1;
    118
    2.30k
      for (x = nd - 1; x >= 0; x--1.22k)
    119
    1.22k
      {
    120
    1.22k
        stride[x] = cstride;
    121
    1.22k
        cstride *= dim[x];
    122
    1.22k
      }
    123
    1.08k
    }
    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
    112
    94.6k
    {
    113
    94.6k
      int x;
    114
    94.6k
      const int nd = ccv_nnc_tensor_nd(dim);
    115
    94.6k
      if (nd < CCV_NNC_MAX_DIM_ALLOC)
    116
    94.6k
        stride[nd] = 0;
    117
    94.6k
      int cstride = 1;
    118
    250k
      for (x = nd - 1; x >= 0; x--155k)
    119
    155k
      {
    120
    155k
        stride[x] = cstride;
    121
    155k
        cstride *= dim[x];
    122
    155k
      }
    123
    94.6k
    }
    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

    ccv_nnc_segmented_gemm_cpu_ref.c:ccv_nnc_tensor_get_stride

    Line
    Count
    Source
    112
    34
    {
    113
    34
      int x;
    114
    34
      const int nd = ccv_nnc_tensor_nd(dim);
    115
    34
      if (nd < CCV_NNC_MAX_DIM_ALLOC)
    116
    34
        stride[nd] = 0;
    117
    34
      int cstride = 1;
    118
    112
      for (x = nd - 1; x >= 0; x--78)
    119
    78
      {
    120
    78
        stride[x] = cstride;
    121
    78
        cstride *= dim[x];
    122
    78
      }
    123
    34
    }
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_nnc_tensor_get_stride
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_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_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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
    112
    4.91k
    {
    113
    4.91k
      int x;
    114
    4.91k
      const int nd = ccv_nnc_tensor_nd(dim);
    115
    4.91k
      if (nd < CCV_NNC_MAX_DIM_ALLOC)
    116
    4.91k
        stride[nd] = 0;
    117
    4.91k
      int cstride = 1;
    118
    12.6k
      for (x = nd - 1; x >= 0; x--7.70k)
    119
    7.70k
      {
    120
    7.70k
        stride[x] = cstride;
    121
    7.70k
        cstride *= dim[x];
    122
    7.70k
      }
    123
    4.91k
    }
    Unexecuted instantiation: ccv_nnc_rotate_half.c:ccv_nnc_tensor_get_stride
    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_gated_delta.c:ccv_nnc_tensor_get_stride
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_get_stride
    Unexecuted instantiation: ccv_nnc_grid_sample.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_partition.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_scatter_add.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_sort.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_unique_consecutive.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
    124
    125
    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])
    126
    193
    {
    127
      // Check if a tensor view is contiguous.
    128
    193
      const int nd = ccv_nnc_tensor_nd(dim);
    129
    193
      int first_none_one_dim_idx = -1;
    130
    193
      int i;
    131
    426
      for (i = 0; first_none_one_dim_idx < 0 && i < nd271; i++233)
    132
    233
        if (dim[i] > 1)
    133
    155
          first_none_one_dim_idx = i;
    134
      // If it is all 1, it is contiguous.
    135
    193
      if (first_none_one_dim_idx < 0)
    136
    38
        return 1;
    137
      // Check if from 0 to first_none_one_dim_idx, it is 1.
    138
    193
      assert(first_none_one_dim_idx < CCV_NNC_MAX_DIM_ALLOC)155;
    139
    155
      int cstride = 1;
    140
    354
      for (i = nd - 1; i >= first_none_one_dim_idx; i--199)
    141
    302
      {
    142
    302
        if (stride[i] != cstride)
    143
    103
          return 0;
    144
    199
        else
    145
    199
          cstride *= dim[i];
    146
    302
      }
    147
    52
      return 1;
    148
    155
    }
    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
    126
    189
    {
    127
      // Check if a tensor view is contiguous.
    128
    189
      const int nd = ccv_nnc_tensor_nd(dim);
    129
    189
      int first_none_one_dim_idx = -1;
    130
    189
      int i;
    131
    414
      for (i = 0; first_none_one_dim_idx < 0 && i < nd262; i++225)
    132
    225
        if (dim[i] > 1)
    133
    152
          first_none_one_dim_idx = i;
    134
      // If it is all 1, it is contiguous.
    135
    189
      if (first_none_one_dim_idx < 0)
    136
    37
        return 1;
    137
      // Check if from 0 to first_none_one_dim_idx, it is 1.
    138
    189
      assert(first_none_one_dim_idx < CCV_NNC_MAX_DIM_ALLOC)152;
    139
    152
      int cstride = 1;
    140
    348
      for (i = nd - 1; i >= first_none_one_dim_idx; i--196)
    141
    299
      {
    142
    299
        if (stride[i] != cstride)
    143
    103
          return 0;
    144
    196
        else
    145
    196
          cstride *= dim[i];
    146
    299
      }
    147
    49
      return 1;
    148
    152
    }
    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
    126
    4
    {
    127
      // Check if a tensor view is contiguous.
    128
    4
      const int nd = ccv_nnc_tensor_nd(dim);
    129
    4
      int first_none_one_dim_idx = -1;
    130
    4
      int i;
    131
    12
      for (i = 0; first_none_one_dim_idx < 0 && i < nd9; i++8)
    132
    8
        if (dim[i] > 1)
    133
    3
          first_none_one_dim_idx = i;
    134
      // If it is all 1, it is contiguous.
    135
    4
      if (first_none_one_dim_idx < 0)
    136
    1
        return 1;
    137
      // Check if from 0 to first_none_one_dim_idx, it is 1.
    138
    4
      assert(first_none_one_dim_idx < CCV_NNC_MAX_DIM_ALLOC)3;
    139
    3
      int cstride = 1;
    140
    6
      for (i = nd - 1; i >= first_none_one_dim_idx; i--3)
    141
    3
      {
    142
    3
        if (stride[i] != cstride)
    143
    0
          return 0;
    144
    3
        else
    145
    3
          cstride *= dim[i];
    146
    3
      }
    147
    3
      return 1;
    148
    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_segmented_gemm_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_nnc_tensor_view_is_contiguous
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_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_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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_rotate_half.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_gated_delta.c:ccv_nnc_tensor_view_is_contiguous
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_view_is_contiguous
    Unexecuted instantiation: ccv_nnc_grid_sample.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_partition.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_scatter_add.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_sort.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_unique_consecutive.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
    149
    150
    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)
    151
    3.23k
    {
    152
    #ifdef HAVE_MPS
    153
      if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
    154
      {
    155
        (*data_ref).u8 = data;
    156
        *dataof_ref = off;
    157
        return;
    158
      }
    159
    #endif
    160
    3.23k
      (*data_ref).u8 = data + off;
    161
    3.23k
    }
    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
    151
    189
    {
    152
    #ifdef HAVE_MPS
    153
      if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
    154
      {
    155
        (*data_ref).u8 = data;
    156
        *dataof_ref = off;
    157
        return;
    158
      }
    159
    #endif
    160
    189
      (*data_ref).u8 = data + off;
    161
    189
    }
    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
    151
    2.00k
    {
    152
    #ifdef HAVE_MPS
    153
      if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
    154
      {
    155
        (*data_ref).u8 = data;
    156
        *dataof_ref = off;
    157
        return;
    158
      }
    159
    #endif
    160
    2.00k
      (*data_ref).u8 = data + off;
    161
    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
    151
    10
    {
    152
    #ifdef HAVE_MPS
    153
      if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
    154
      {
    155
        (*data_ref).u8 = data;
    156
        *dataof_ref = off;
    157
        return;
    158
      }
    159
    #endif
    160
    10
      (*data_ref).u8 = data + off;
    161
    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
    151
    1.03k
    {
    152
    #ifdef HAVE_MPS
    153
      if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
    154
      {
    155
        (*data_ref).u8 = data;
    156
        *dataof_ref = off;
    157
        return;
    158
      }
    159
    #endif
    160
    1.03k
      (*data_ref).u8 = data + off;
    161
    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_segmented_gemm_cpu_ref.c:ccv_nnc_tensor_data
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_nnc_tensor_data
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_cpu_ref.c:ccv_nnc_tensor_data
    Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_nnc_tensor_data
    Unexecuted instantiation: ccv_nnc_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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_rotate_half.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_gated_delta.c:ccv_nnc_tensor_data
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_data
    Unexecuted instantiation: ccv_nnc_grid_sample.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_partition.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_scatter_add.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_sort.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_unique_consecutive.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
    162
    163
    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)
    164
    636
    {
    165
    #ifdef HAVE_MPS
    166
      if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
    167
      {
    168
        (*dataof_ref) += off;
    169
        return;
    170
      }
    171
    #endif
    172
    636
      (*data_ref).u8 += off;
    173
    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
    164
    114
    {
    165
    #ifdef HAVE_MPS
    166
      if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
    167
      {
    168
        (*dataof_ref) += off;
    169
        return;
    170
      }
    171
    #endif
    172
    114
      (*data_ref).u8 += off;
    173
    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
    164
    521
    {
    165
    #ifdef HAVE_MPS
    166
      if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
    167
      {
    168
        (*dataof_ref) += off;
    169
        return;
    170
      }
    171
    #endif
    172
    521
      (*data_ref).u8 += off;
    173
    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
    164
    1
    {
    165
    #ifdef HAVE_MPS
    166
      if (CCV_TENSOR_GET_MEMORY(params.type) == CCV_TENSOR_GPU_MEMORY)
    167
      {
    168
        (*dataof_ref) += off;
    169
        return;
    170
      }
    171
    #endif
    172
    1
      (*data_ref).u8 += off;
    173
    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_segmented_gemm_cpu_ref.c:ccv_nnc_tensor_data_add
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_nnc_tensor_data_add
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_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_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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_rotate_half.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_gated_delta.c:ccv_nnc_tensor_data_add
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_tensor_data_add
    Unexecuted instantiation: ccv_nnc_grid_sample.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_partition.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_scatter_add.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_sort.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_unique_consecutive.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
    174
    175
    static inline void ccv_array_add_unique_int(ccv_array_t* ints, const int idx)
    176
    138k
    {
    177
    138k
      int i;
    178
    445k
      for (i = 0; i < ints->rnum; i++307k)
    179
    312k
        if (*(int*)ccv_array_get(ints, i) == idx)
    180
    5.52k
          return;
    181
    132k
      ccv_array_push(ints, &idx);
    182
    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
    176
    204
    {
    177
    204
      int i;
    178
    237
      for (i = 0; i < ints->rnum; i++33)
    179
    33
        if (*(int*)ccv_array_get(ints, i) == idx)
    180
    0
          return;
    181
    204
      ccv_array_push(ints, &idx);
    182
    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
    176
    26.3k
    {
    177
    26.3k
      int i;
    178
    36.4k
      for (i = 0; i < ints->rnum; i++10.0k)
    179
    10.1k
        if (*(int*)ccv_array_get(ints, i) == idx)
    180
    18
          return;
    181
    26.2k
      ccv_array_push(ints, &idx);
    182
    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
    176
    21.1k
    {
    177
    21.1k
      int i;
    178
    22.3k
      for (i = 0; i < ints->rnum; i++1.15k)
    179
    1.15k
        if (*(int*)ccv_array_get(ints, i) == idx)
    180
    2
          return;
    181
    21.1k
      ccv_array_push(ints, &idx);
    182
    21.1k
    }
    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
    176
    2.38k
    {
    177
    2.38k
      int i;
    178
    265k
      for (i = 0; i < ints->rnum; i++263k)
    179
    264k
        if (*(int*)ccv_array_get(ints, i) == idx)
    180
    1.05k
          return;
    181
    1.32k
      ccv_array_push(ints, &idx);
    182
    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
    176
    87.3k
    {
    177
    87.3k
      int i;
    178
    115k
      for (i = 0; i < ints->rnum; i++28.0k)
    179
    32.2k
        if (*(int*)ccv_array_get(ints, i) == idx)
    180
    4.21k
          return;
    181
    83.1k
      ccv_array_push(ints, &idx);
    182
    83.1k
    }
    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
    176
    398
    {
    177
    398
      int i;
    178
    4.12k
      for (i = 0; i < ints->rnum; i++3.72k)
    179
    3.93k
        if (*(int*)ccv_array_get(ints, i) == idx)
    180
    207
          return;
    181
    191
      ccv_array_push(ints, &idx);
    182
    191
    }
    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
    176
    219
    {
    177
    219
      int i;
    178
    1.32k
      for (i = 0; i < ints->rnum; i++1.10k)
    179
    1.13k
        if (*(int*)ccv_array_get(ints, i) == idx)
    180
    29
          return;
    181
    190
      ccv_array_push(ints, &idx);
    182
    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_segmented_gemm_cpu_ref.c:ccv_array_add_unique_int
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_array_add_unique_int
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_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_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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_rotate_half.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_gated_delta.c:ccv_array_add_unique_int
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_array_add_unique_int
    Unexecuted instantiation: ccv_nnc_grid_sample.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_partition.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_scatter_add.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_sort.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_unique_consecutive.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
    183
    184
    static inline int ccv_array_contain_int(ccv_array_t* ints, const int idx)
    185
    112
    {
    186
    112
      int i;
    187
    781
      for (i = 0; i < ints->rnum; i++669)
    188
    728
        if (*(int*)ccv_array_get(ints, i) == idx)
    189
    59
          return 1;
    190
    53
      return 0;
    191
    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
    185
    112
    {
    186
    112
      int i;
    187
    781
      for (i = 0; i < ints->rnum; i++669)
    188
    728
        if (*(int*)ccv_array_get(ints, i) == idx)
    189
    59
          return 1;
    190
    53
      return 0;
    191
    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_segmented_gemm_cpu_ref.c:ccv_array_contain_int
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_array_contain_int
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_cpu_ref.c:ccv_array_contain_int
    Unexecuted instantiation: ccv_nnc_gelu_cpu_ref.c:ccv_array_contain_int
    Unexecuted instantiation: ccv_nnc_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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_rotate_half.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_gated_delta.c:ccv_array_contain_int
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_array_contain_int
    Unexecuted instantiation: ccv_nnc_grid_sample.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_partition.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_scatter_add.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_sort.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_unique_consecutive.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
    192
    193
    static inline void ccv_array_add_unique_uint(ccv_array_t* ints, const uint32_t idx)
    194
    5.81k
    {
    195
    5.81k
      int i;
    196
    22.8k
      for (i = 0; i < ints->rnum; i++17.0k)
    197
    19.3k
        if (*(uint32_t*)ccv_array_get(ints, i) == idx)
    198
    2.30k
          return;
    199
    3.51k
      ccv_array_push(ints, &idx);
    200
    3.51k
    }
    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
    194
    5.81k
    {
    195
    5.81k
      int i;
    196
    22.8k
      for (i = 0; i < ints->rnum; i++17.0k)
    197
    19.3k
        if (*(uint32_t*)ccv_array_get(ints, i) == idx)
    198
    2.30k
          return;
    199
    3.51k
      ccv_array_push(ints, &idx);
    200
    3.51k
    }
    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_segmented_gemm_cpu_ref.c:ccv_array_add_unique_uint
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_array_add_unique_uint
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_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_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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_rotate_half.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_gated_delta.c:ccv_array_add_unique_uint
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_array_add_unique_uint
    Unexecuted instantiation: ccv_nnc_grid_sample.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_partition.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_scatter_add.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_sort.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_unique_consecutive.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
    201
    202
    #ifdef __cplusplus
    203
    #define REGISTER_COMMAND_BACKEND(x, y) extern "C" void _register_command_ ## x ## _backend_ ## y
    204
    #define REGISTER_COMMAND(x) extern "C" void _register_command_ ## x
    205
    #else
    206
    #define REGISTER_COMMAND_BACKEND(x, y) void _register_command_ ## x ## _backend_ ## y
    207
    #define REGISTER_COMMAND(x) void _register_command_ ## x
    208
    #endif
    209
    #define FIND_BACKEND(...)
    210
    #define FIND_FILE(...)
    211
    212
    // x is the dimension.
    213
    // n[x] is the start point for the filter on y axis, so that we can avoid computing the padding.
    214
    // m[x] shows how long we should loop for filter on y axis, avoid computing the padding too.
    215
    #define SET_BORDER_OFFSET_SIZE_FOR(x, i, hint, wd, ad, n, m) \
    216
    517M
      do { \
    217
    517M
        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]); \
    218
    517M
        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])); \
    219
    517M
      } while (0)
    220
    221
    // Defines common graph visit macros
    222
    223
    // The visitor function / macro takes parameter visitor(node_type* node, int index, int term);
    224
    #define CCV_NNC_GRAPH_VISIT(_graph, nodes, node_size, sources, source_size, destinations, destination_size, allow_subset, visitor) \
    225
    40.9k
      do 15{ \
    226
    40.9k
        /* Use the same data structure to do topological ordering. */ \
    227
    40.9k
        typedef struct { \
    228
    40.9k
          int8_t d; /* tag if this is the destination node. */ \
    229
    40.9k
          int8_t r; /* tag if this is reached as destination node. */ \
    230
    40.9k
          uint16_t c; /* number of incoming edges. */ \
    231
    40.9k
          int32_t edges; /* pointer to incoming edges list. */ \
    232
    40.9k
        } ccv_nnc_incoming_t; \
    233
    40.9k
        int _i_, _j_; \
    234
    40.9k
        /* Statistics of how many incoming edges for all nodes of a graph. */ \
    235
    40.9k
        int _incoming_edges_ = 0; \
    236
    258k
        for (_i_ = 0; _i_ < (node_size); _i_++217k) /* assuming it is all reached */ \
    237
    217k
          _incoming_edges_ += ((nodes)[_i_].outgoings) ? (nodes)[_i_].outgoings->rnum164k : 053.3k; \
    238
    40.9k
        const int _heap_mem_ = ((node_size) + _incoming_edges_ > 1024); \
    239
    40.9k
        ccv_nnc_incoming_t* _incomings_; \
    240
    40.9k
        if (_heap_mem_) \
    241
    40.9k
          _incomings_ = (ccv_nnc_incoming_t*)48ccmalloc48(sizeof(ccv_nnc_incoming_t) * (node_size) + sizeof(int32_t) * ((node_size) * 2 + _incoming_edges_)); \
    242
    40.9k
        else \
    243
    40.9k
          _incomings_ = (ccv_nnc_incoming_t*)alloca40.8k(sizeof(ccv_nnc_incoming_t) * (node_size) + sizeof(int32_t) * ((node_size) * 2 + _incoming_edges_)); \
    244
    40.9k
        memset(_incomings_, 0, sizeof(ccv_nnc_incoming_t) * (node_size)); \
    245
    40.9k
        int32_t* _exists_[2] = { \
    246
    40.9k
          (int32_t*)(_incomings_ + (node_size)), \
    247
    40.9k
          (int32_t*)(_incomings_ + (node_size)) + (node_size), \
    248
    40.9k
        }; \
    249
    40.9k
        int32_t* const _edges_ = _exists_[1] + (node_size); \
    250
    82.4k
        for (_i_ = 0; _i_ < (source_size); _i_++41.5k) \
    251
    41.5k
        { \
    252
    41.5k
          assert((sources)[_i_].graph == _graph); \
    253
    41.5k
          _incomings_[(sources)[_i_].d].r = 1; \
    254
    41.5k
          _exists_[0][_i_] = (sources)[_i_].d; \
    255
    41.5k
        } \
    256
    40.9k
        int _exist_size_[2] = { \
    257
    40.9k
          (source_size), \
    258
    40.9k
          0, \
    259
    40.9k
        }; \
    260
    40.9k
        int _p_ = 0, _q_ = 1; /* ping, pong swap. */ \
    261
    40.9k
        /* Gather statistics. */ \
    262
    181k
        while (_exist_size_[_p_] > 0) \
    263
    140k
        { \
    264
    140k
          _exist_size_[_q_] = 0; \
    265
    334k
          for (_i_ = 0; _i_ < _exist_size_[_p_]; _i_++194k) \
    266
    194k
          { \
    267
    194k
            const int32_t _idx_ = _exists_[_p_][_i_]; \
    268
    194k
            if (_incomings_[_idx_].r != 1) \
    269
    194k
              continue0; \
    270
    194k
            _incomings_[_idx_].r = 2; \
    271
    194k
            /* mark as not reached */ \
    272
    194k
            if ((nodes)[_idx_].outgoings) \
    273
    335k
              for (_j_ = 0; 143k_j_ < (nodes)[_idx_].outgoings->rnum; _j_++192k) \
    274
    192k
              { \
    275
    192k
                const int d = *(int*)ccv_array_get((nodes)[_idx_].outgoings, _j_); \
    276
    192k
                ++_incomings_[d].c; \
    277
    192k
                if (_incomings_[d].r != 0) \
    278
    192k
                  continue39.4k; \
    279
    192k
                _incomings_[d].r = 1; \
    280
    152k
                assert(_exist_size_[_q_] < (node_size)); \
    281
    152k
                _exists_[_q_][_exist_size_[_q_]] = d; \
    282
    152k
                ++_exist_size_[_q_]; \
    283
    152k
              } \
    284
    194k
          } \
    285
    140k
          /* swap p and q. */ \
    286
    140k
          CCV_SWAP(_p_, _q_, _i_ /* using i as temp holder */); \
    287
    140k
        } \
    288
    40.9k
        /* Fill incoming edges. */ \
    289
    82.4k
        for (_i_ = 0; 40.9k_i_ < (source_size); _i_++41.5k) \
    290
    41.5k
        { \
    291
    41.5k
          assert((sources)[_i_].graph == _graph); \
    292
    41.5k
          _incomings_[(sources)[_i_].d].r = 3; \
    293
    41.5k
          _exists_[0][_i_] = (sources)[_i_].d; \
    294
    41.5k
        } \
    295
    40.9k
        _exist_size_[0] = (source_size); \
    296
    40.9k
        _exist_size_[1] = 0; \
    297
    40.9k
        _p_ = 0, _q_ = 1; /* ping, pong swap. */ \
    298
    40.9k
        int _bump_ = 1; \
    299
    181k
        while (_exist_size_[_p_] > 0) \
    300
    140k
        { \
    301
    140k
          _exist_size_[_q_] = 0; \
    302
    334k
          for (_i_ = 0; _i_ < _exist_size_[_p_]; _i_++194k) \
    303
    194k
          { \
    304
    194k
            const int32_t _idx_ = _exists_[_p_][_i_]; \
    305
    194k
            if (_incomings_[_idx_].r != 3) \
    306
    194k
              continue0; \
    307
    194k
            _incomings_[_idx_].r = 4; \
    308
    194k
            /* mark as not reached */ \
    309
    194k
            if ((nodes)[_idx_].outgoings) \
    310
    335k
              for (_j_ = 0; 143k_j_ < (nodes)[_idx_].outgoings->rnum; _j_++192k) \
    311
    192k
              { \
    312
    192k
                const int d = *(int*)ccv_array_get((nodes)[_idx_].outgoings, _j_); \
    313
    192k
                if (_incomings_[d].edges == 0) \
    314
    192k
                { \
    315
    152k
                  _incomings_[d].edges = _bump_; \
    316
    152k
                  _bump_ += _incomings_[d].c; \
    317
    152k
                  _incomings_[d].c = 0; \
    318
    152k
                } \
    319
    192k
                _edges_[_incomings_[d].edges - 1 + _incomings_[d].c] = _idx_; \
    320
    192k
                ++_incomings_[d].c; \
    321
    192k
                if (_incomings_[d].r != 2) \
    322
    192k
                  continue39.4k; \
    323
    192k
                _incomings_[d].r = 3; \
    324
    152k
                assert(_exist_size_[_q_] < (node_size)); \
    325
    152k
                _exists_[_q_][_exist_size_[_q_]] = d; \
    326
    152k
                ++_exist_size_[_q_]; \
    327
    152k
              } \
    328
    194k
          } \
    329
    140k
          /* swap p and q. */ \
    330
    140k
          CCV_SWAP(_p_, _q_, _i_ /* using i as temp holder */); \
    331
    140k
        } \
    332
    40.9k
        /* Traverse back and mark r if it can be marked */ \
    333
    92.0k
        for (_i_ = 0; 40.9k_i_ < (destination_size); _i_++51.1k) \
    334
    51.1k
        { \
    335
    51.1k
          assert((destinations)[_i_].graph == _graph); \
    336
    51.1k
          _incomings_[(destinations)[_i_].d].r = 5; \
    337
    51.1k
          _exists_[0][_i_] = (destinations)[_i_].d; \
    338
    51.1k
        } \
    339
    40.9k
        _exist_size_[0] = (destination_size); \
    340
    40.9k
        _exist_size_[1] = 0; \
    341
    40.9k
        _p_ = 0, _q_ = 1; /* ping, pong swap. */ \
    342
    180k
        while (_exist_size_[_p_] > 0) \
    343
    139k
        { \
    344
    139k
          _exist_size_[_q_] = 0; \
    345
    331k
          for (_i_ = 0; _i_ < _exist_size_[_p_]; _i_++191k) \
    346
    191k
          { \
    347
    191k
            const int32_t _idx_ = _exists_[_p_][_i_]; \
    348
    191k
            if (_incomings_[_idx_].r != 5) /* If cannot be traversed in forward pass, cannot in backward pass. */ \
    349
    191k
              continue0; \
    350
    191k
            _incomings_[_idx_].r = 6; \
    351
    191k
            /* mark as not reached */ \
    352
    191k
            if (_incomings_[_idx_].edges > 0) \
    353
    336k
              for (_j_ = 0; 150k_j_ < _incomings_[_idx_].c; _j_++186k) \
    354
    186k
              { \
    355
    186k
                const int d = _edges_[_incomings_[_idx_].edges - 1 + _j_]; \
    356
    186k
                if (_incomings_[d].r != 4) \
    357
    186k
                  continue45.5k; \
    358
    186k
                _incomings_[d].r = 5; \
    359
    140k
                assert(_exist_size_[_q_] < (node_size)); \
    360
    140k
                _exists_[_q_][_exist_size_[_q_]] = d; \
    361
    140k
                ++_exist_size_[_q_]; \
    362
    140k
              } \
    363
    191k
          } \
    364
    139k
          /* swap p and q. */ \
    365
    139k
          CCV_SWAP(_p_, _q_, _i_ /* using i as temp holder */); \
    366
    139k
        } \
    367
    92.0k
        for (_i_ = 0; 40.9k_i_ < (destination_size); _i_++51.1k) \
    368
    51.1k
        { \
    369
    51.1k
          assert((destinations)[_i_].graph == _graph); \
    370
    51.1k
          /* tagging destination nodes. */ \
    371
    51.1k
          _incomings_[(destinations)[_i_].d].d = 1; \
    372
    51.1k
        } \
    373
    82.4k
        for (_i_ = 0; 40.9k_i_ < (source_size); _i_++41.5k) \
    374
    41.5k
        { \
    375
    41.5k
          assert((sources)[_i_].graph == _graph); \
    376
    41.5k
          _exists_[0][_i_] = (sources)[_i_].d; \
    377
    41.5k
        } \
    378
    40.9k
        _p_ = 0; \
    379
    40.9k
        _q_ = 1; \
    380
    40.9k
        _exist_size_[0] = (source_size); \
    381
    40.9k
        _exist_size_[1] = 0; \
    382
    40.9k
        int _d_ = 0; \
    383
    40.9k
        /* After we have that statistics, we can do topsort and run the command. */ \
    384
    101k
        while (_exist_size_[_p_] > 0) \
    385
    60.5k
        { \
    386
    60.5k
          _exist_size_[_q_] = 0; \
    387
    252k
          for (_i_ = 0; _i_ < _exist_size_[_p_];) \
    388
    191k
          { \
    389
    191k
            const int32_t _idx_ = _exists_[_p_][_i_]; \
    390
    191k
            visitor(((nodes) + _idx_), (_idx_), (_incomings_[_idx_].d)); \
    391
    191k
            /* mark as reached */ \
    392
    191k
            if (_incomings_[_idx_].d) \
    393
    191k
            { \
    394
    51.1k
              ++_d_; \
    395
    51.1k
              _incomings_[_idx_].r = 7; \
    396
    51.1k
            } \
    397
    191k
            if ((nodes)[_idx_].outgoings) \
    398
    191k
            { \
    399
    141k
              if ((nodes)[_idx_].outgoings->rnum == 1) \
    400
    141k
              { \
    401
    111k
                /* Optimizing for the case have only one child. Go through that directly. */ \
    402
    111k
                const int d = *(int*)ccv_array_get((nodes)[_idx_].outgoings, 0); \
    403
    111k
                --_incomings_[d].c; \
    404
    111k
                if (_incomings_[d].c == 0 && _incomings_[d].r == 6107k && _d_ < (destination_size)107k) \
    405
    111k
                { \
    406
    107k
                  _exists_[_p_][_i_] = d; \
    407
    107k
                  continue; \
    408
    107k
                } \
    409
    111k
              } else \
    410
    141k
                for (_j_ = 0; 29.8k_j_ < (nodes)[_idx_].outgoings->rnum107k; _j_++77.5k) \
    411
    77.5k
                { \
    412
    77.5k
                  const int d = *(int*)ccv_array_get((nodes)[_idx_].outgoings, _j_); \
    413
    77.5k
                  --_incomings_[d].c; \
    414
    77.5k
                  /* If all incoming edges are consumed, and not all destination node are computed, push it into next round */ \
    415
    77.5k
                  if (_incomings_[d].c == 0 && _incomings_[d].r == 642.8k && _d_ < (destination_size)42.5k) \
    416
    77.5k
                  { \
    417
    42.5k
                    assert(_exist_size_[_q_] < (node_size)); \
    418
    42.5k
                    _exists_[_q_][_exist_size_[_q_]] = d; \
    419
    42.5k
                    ++_exist_size_[_q_]; \
    420
    42.5k
                  } \
    421
    77.5k
                } \
    422
    141k
            } \
    423
    191k
            ++_i_; \
    424
    84.1k
          } \
    425
    60.5k
          /* swap p and q. */ \
    426
    60.5k
          CCV_SWAP(_p_, _q_, _i_ /* using i as temp holder */); \
    427
    60.5k
        } \
    428
    92.0k
        for (_i_ = 0; 40.9k_i_ < (destination_size); _i_++51.1k) \
    429
    51.1k
        { \
    430
    51.1k
          assert((destinations)[_i_].graph == _graph); \
    431
    51.1k
          /* skip if this is already reached. */ \
    432
    51.1k
          if (_incomings_[(destinations)[_i_].d].r == 7) \
    433
    51.1k
            continue51.1k; \
    434
    51.1k
          /* this destination node should have every incoming nodes consumed. */ \
    435
    51.1k
          if (25!(allow_subset)25) \
    436
    25
            { assert(_incomings_[(destinations)[_i_].d].c == 0); } \
    437
    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). */ \
    438
    0
            continue; \
    439
    25
          /* fetch the info for destination node and exec current node. */ \
    440
    25
          visitor(((nodes) + (destinations)[_i_].d), ((destinations)[_i_].d), (_incomings_[(destinations)[_i_].d].d)); \
    441
    25
        } \
    442
    40.9k
        if (_heap_mem_) \
    443
    40.9k
          ccfree48(_incomings_)48; \
    444
    40.9k
      } while (0);
    445
    446
    typedef struct {
    447
      int size;
    448
      struct {
    449
        int index;
    450
        int term;
    451
      } node[1];
    452
    } ccv_nnc_graph_visit_t;
    453
    454
    static inline void ccv_nnc_graph_visit_free(ccv_nnc_graph_visit_t* graph_visit)
    455
    40.2k
    {
    456
    40.2k
      ccfree(graph_visit);
    457
    40.2k
    }
    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
    455
    6.73k
    {
    456
    6.73k
      ccfree(graph_visit);
    457
    6.73k
    }

    ccv_nnc_symbolic_graph.c:ccv_nnc_graph_visit_free

    Line
    Count
    Source
    455
    8.86k
    {
    456
    8.86k
      ccfree(graph_visit);
    457
    8.86k
    }
    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
    455
    6.28k
    {
    456
    6.28k
      ccfree(graph_visit);
    457
    6.28k
    }

    ccv_nnc_symbolic_graph_backward.c:ccv_nnc_graph_visit_free

    Line
    Count
    Source
    455
    13.6k
    {
    456
    13.6k
      ccfree(graph_visit);
    457
    13.6k
    }
    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
    455
    17
    {
    456
    17
      ccfree(graph_visit);
    457
    17
    }

    ccv_nnc_symbolic_graph_simplify.c:ccv_nnc_graph_visit_free

    Line
    Count
    Source
    455
    4.64k
    {
    456
    4.64k
      ccfree(graph_visit);
    457
    4.64k
    }
    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
    455
    111
    {
    456
    111
      ccfree(graph_visit);
    457
    111
    }
    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
    455
    2
    {
    456
    2
      ccfree(graph_visit);
    457
    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_segmented_gemm_cpu_ref.c:ccv_nnc_graph_visit_free
    Unexecuted instantiation: ccv_nnc_rotate_half_cpu_ref.c:ccv_nnc_graph_visit_free
    Unexecuted instantiation: ccv_nnc_comm_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_gated_delta_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_grid_sample_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_partition_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_scatter_add_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_sort_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_unique_consecutive_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_rotate_half.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_gated_delta.c:ccv_nnc_graph_visit_free
    Unexecuted instantiation: ccv_nnc_gelu.c:ccv_nnc_graph_visit_free
    Unexecuted instantiation: ccv_nnc_grid_sample.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_partition.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_scatter_add.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_sort.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_unique_consecutive.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
    458
    459
    180k
    #define CCV_NNC_GRAPH_VISIT_FOR1(graph_visit, nodes, _node_, _index_, _term_, ...) { \
    460
    180k
      int _i_; \
    461
    910k
      for (_i_ = 0; _i_ < (graph_visit)->size; _i_++730k) { \
    462
    730k
        const int _index_ __attribute__((unused)) = (graph_visit)->node[_i_].index; \
    463
    730k
        const int _term_ __attribute__((unused)) = (graph_visit)->node[_i_].term; \
    464
    730k
        typeof ((nodes)) const _node_ __attribute__((unused)) = (nodes) + _index_; \
    465
    466
    #define ccv_nnc_graph_visit_for(graph_visit, nodes, ...) \
    467
    180k
      CCV_NNC_GRAPH_VISIT_FOR1(graph_visit, nodes, ##__VA_ARGS__, _node_unused_, _index_unused_, _term_unused_)
    468
    469
    2
    #define CCV_NNC_GRAPH_VISIT_FOR1_REVERSED(graph_visit, nodes, _node_, _index_, _term_, ...) { \
    470
    2
      int _i_; \
    471
    18
      for (_i_ = (graph_visit)->size - 1; _i_ >= 0; _i_--16) { \
    472
    16
        const int _index_ __attribute__((unused)) = (graph_visit)->node[_i_].index; \
    473
    16
        const int _term_ __attribute__((unused)) = (graph_visit)->node[_i_].term; \
    474
    16
        typeof ((nodes)) const _node_ __attribute__((unused)) = (nodes) + _index_; \
    475
    476
    #define ccv_nnc_graph_visit_for_reversed(graph_visit, nodes, ...) \
    477
    2
      CCV_NNC_GRAPH_VISIT_FOR1_REVERSED(graph_visit, nodes, ##__VA_ARGS__, _node_unused_, _index_unused_, _term_unused_)
    478
    479
    711k
    #define ccv_nnc_graph_visit_endfor } }
    480
    481
    #define CCV_NNC_GRAPH_VISIT_NEW_VISITOR1(_, _index_, _term_) \
    482
    183k
      _visit_->node[_visit_->size].index = (_index_); \
    483
    183k
      _visit_->node[_visit_->size].term = (_term_); \
    484
    183k
      ++_visit_->size;
    485
    486
    40.2k
    #define ccv_nnc_graph_visit_new(_graph, nodes, node_size, sources, source_size, destinations, destination_size, allow_subset) ({\
    487
    40.2k
      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)); \
    488
    40.2k
      _visit_->size = 0; \
    489
    183k
      CCV_NNC_GRAPH_VISIT40.2k(_graph, nodes, node_size, sources, source_size, destinations, destination_size, allow_subset, CCV_NNC_GRAPH_VISIT_NEW_VISITOR1); \
    490
    40.2k
      assert(_visit_->size <= (node_size)); \
    491
    40.2k
      _visit_; \
    492
    40.2k
    })
    493
    494
    #endif