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