Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

English | 中文版

附录 E:完整内核清单

本附录由 scripts/generate_kernel_appendix.sh 自动生成。 运行 bash scripts/generate_kernel_appendix.sh --lang zh 可重新生成。

总览

指标数量
编译测试内核486
可部署内核19
内核总数505
MultiKernelBench 覆盖300/300 (100%)
MKB 类别覆盖15/15 (100%)
内存安全漏洞模式6 类(含攻击示例)

漏洞模式图例

编号漏洞类型C++ 根因Rust 防护机制攻击示例
V1类型擦除GM_ADDR 擦除所有类型信息函数签名编码元素类型case1
V2缓冲区溢出GetValue(i) 无边界检查缓冲区 ID API + 显式计数case2
V3整数溢出u32 偏移计算静默回绕wrapping_mul 显式溢出case6
V4释放后使用FreeTensor() 后访问过期 LocalTensorAPI 中无手动释放case3
V5双重释放FreeTensor() 重复调用无释放操作case5
V6同步缺失遗漏 pipe_barrier()kernel_ops 组合算子内置屏障case4

按类别的内核清单

Activation(17 个内核)

适用漏洞模式: V1(type erasure),V2(unchecked index),V6(missing sync)

MKB 参考: reference_kernels/activation/

Architecture(77 个内核)

适用漏洞模式: V1,V2,V3(offset overflow),V6

MKB 参考: reference_kernels/architecture/

内核函数源文件MKB 参考910B3 状态
mlp_relutests/compiletest/ui/arch_ops_kernel.rsPASS
mlp_gelu_biastests/compiletest/ui/arch_ops_kernel.rsPASS
mlp_swishtests/compiletest/ui/arch_ops_kernel.rsPASS
ffn_prenormtests/compiletest/ui/arch_ops_kernel.rsffn_prenorm.pyPASS
down_projtests/compiletest/ui/arch_ops_kernel.rsdown_proj.pyPASS
attention_score_normtests/compiletest/ui/arch_ops_kernel.rsPASS
rope_freqtests/compiletest/ui/arch_ops_kernel.rsPASS
embedding_scaletests/compiletest/ui/arch_ops_kernel.rsPASS
gated_residualtests/compiletest/ui/arch_ops_kernel.rsgated_residual.pyPASS
scaled_dottests/compiletest/ui/arch_ops_kernel.rsPASS
classifier_headtests/compiletest/ui/arch_ops_kernel.rsPASS
regression_headtests/compiletest/ui/arch_ops_kernel.rsPASS
softmax_classifiertests/compiletest/ui/arch_ops_kernel.rsPASS
mlptests/compiletest/ui/arch_ops_kernel.rsmlp.pyPASS
deep_narrow_mlptests/compiletest/ui/arch_ops_kernel.rsdeep_narrow_mlp.pyPASS
shallow_wide_mlptests/compiletest/ui/arch_ops_kernel.rsshallow_wide_mlp.pyPASS
vanilla_rnntests/compiletest/ui/arch_rnn_kernel.rsvanilla_rnn.pyPASS
lstm_forget_gatetests/compiletest/ui/arch_rnn_kernel.rsPASS
lstm_input_gatetests/compiletest/ui/arch_rnn_kernel.rsPASS
lstm_cell_candidatetests/compiletest/ui/arch_rnn_kernel.rsPASS
lstm_cell_updatetests/compiletest/ui/arch_rnn_kernel.rsPASS
lstm_outputtests/compiletest/ui/arch_rnn_kernel.rsPASS
gru_reset_gatetests/compiletest/ui/arch_rnn_kernel.rsPASS
gru_update_gatetests/compiletest/ui/arch_rnn_kernel.rsPASS
gru_candidatetests/compiletest/ui/arch_rnn_kernel.rsPASS
gru_hidden_updatetests/compiletest/ui/arch_rnn_kernel.rsPASS
vanilla_rnn_hiddentests/compiletest/ui/arch_rnn_kernel.rsvanilla_rnn_hidden.pyPASS
lstmtests/compiletest/ui/arch_rnn_kernel.rslstm.pyPASS
lstm_bidirectionaltests/compiletest/ui/arch_rnn_kernel.rslstm_bidirectional.pyPASS
lstm_cntests/compiletest/ui/arch_rnn_kernel.rslstm_cn.pyPASS
grutests/compiletest/ui/arch_rnn_kernel.rsgru.pyPASS
gru_birectionaltests/compiletest/ui/arch_rnn_kernel.rsgru_birectional.pyPASS
gru_bidirectional_hiddentests/compiletest/ui/arch_rnn_kernel.rsgru_bidirectional_hidden.pyPASS
gru_hiddentests/compiletest/ui/arch_rnn_kernel.rsgru_hidden.pyPASS
alexnet_fctests/compiletest/ui/arch_network_kernel.rsalexnet_fc.pyPASS
vgg_fctests/compiletest/ui/arch_network_kernel.rsPASS
resnet_residualtests/compiletest/ui/arch_network_kernel.rsPASS
densenet_blocktests/compiletest/ui/arch_network_kernel.rsPASS
mobilenet_pointwisetests/compiletest/ui/arch_network_kernel.rsmobilenet_pointwise.pyPASS
efficientnet_fctests/compiletest/ui/arch_network_kernel.rsPASS
inception_mergetests/compiletest/ui/arch_network_kernel.rsPASS
squeezenet_firetests/compiletest/ui/arch_network_kernel.rsPASS
shufflenet_fctests/compiletest/ui/arch_network_kernel.rsPASS
regnet_stemtests/compiletest/ui/arch_network_kernel.rsregnet_stem.pyPASS
lenet_fctests/compiletest/ui/arch_network_kernel.rslenet_fc.pyPASS
unet_skiptests/compiletest/ui/arch_network_kernel.rsunet_skip.pyPASS
vit_mlptests/compiletest/ui/arch_network_kernel.rsvit_mlp.pyPASS
swin_attentiontests/compiletest/ui/arch_network_kernel.rsPASS
mingpt_blocktests/compiletest/ui/arch_network_kernel.rsmingpt_block.pyPASS
mlp_mixertests/compiletest/ui/arch_network_kernel.rsmlp_mixer.pyPASS
mamba_ssmtests/compiletest/ui/arch_network_kernel.rsPASS
densenet121tests/compiletest/ui/arch_network_kernel.rsdensenet121.pyPASS
densenet121_dense_blocktests/compiletest/ui/arch_network_kernel.rsdensenet121_dense_block.pyPASS
densenet121_transition_layertests/compiletest/ui/arch_network_kernel.rsdensenet121_transition_layer.pyPASS
densenet201tests/compiletest/ui/arch_network_kernel.rsdensenet201.pyPASS
efficientnet_b0tests/compiletest/ui/arch_network_kernel.rsefficientnet_b0.pyPASS
efficientnet_b1tests/compiletest/ui/arch_network_kernel.rsefficientnet_b1.pyPASS
efficientnet_b2tests/compiletest/ui/arch_network_kernel.rsefficientnet_b2.pyPASS
resnet18tests/compiletest/ui/arch_network_kernel.rsresnet18.pyPASS
resnet101tests/compiletest/ui/arch_network_kernel.rsresnet101.pyPASS
resnet_basic_blocktests/compiletest/ui/arch_network_kernel.rsresnet_basic_block.pyPASS
vgg16tests/compiletest/ui/arch_network_kernel.rsvgg16.pyPASS
vgg19tests/compiletest/ui/arch_network_kernel.rsvgg19.pyPASS
squeeze_nettests/compiletest/ui/arch_network_kernel.rssqueeze_net.pyPASS
squeeze_net_fire_moduletests/compiletest/ui/arch_network_kernel.rssqueeze_net_fire_module.pyPASS
shufflenettests/compiletest/ui/arch_network_kernel.rsshufflenet.pyPASS
shufflenet_unittests/compiletest/ui/arch_network_kernel.rsshufflenet_unit.pyPASS
googlenet_inception_moduletests/compiletest/ui/arch_network_kernel.rsPASS
googlenet_inception_v1tests/compiletest/ui/arch_network_kernel.rsPASS
swin_mlptests/compiletest/ui/arch_network_kernel.rsswin_mlp.pyPASS
swintransformer_v2tests/compiletest/ui/arch_network_kernel.rsswintransformer_v2.pyPASS
mamba_return_final_statetests/compiletest/ui/arch_network_kernel.rsmamba_return_final_state.pyPASS
mamba_return_ytests/compiletest/ui/arch_network_kernel.rsmamba_return_y.pyPASS
convolutional_vision_transformertests/compiletest/ui/arch_network_kernel.rsconvolutional_vision_transformer.pyPASS
net_vlad_no_ghost_clusterstests/compiletest/ui/arch_network_kernel.rsnet_vlad_no_ghost_clusters.pyPASS
net_vlad_with_ghost_clusterstests/compiletest/ui/arch_network_kernel.rsnet_vlad_with_ghost_clusters.pyPASS
mobilenetv2_invertedtests/compiletest/ui/arch_network_kernel.rsmobilenetv2_inverted.pyPASS

Attention(23 个内核)

适用漏洞模式: V1,V2,V3,V6(multi-stage sync)

MKB 参考: reference_kernels/attention/

内核函数源文件MKB 参考910B3 状态
attention_softmaxtests/compiletest/ui/attention_kernel.rsPASS
residual_add_layernormtests/compiletest/ui/attention_kernel.rsPASS
residual_add_rmsnormtests/compiletest/ui/attention_kernel.rsPASS
swiglutests/compiletest/ui/attention_kernel.rsswiglu.pyPASS
geglutests/compiletest/ui/attention_kernel.rsPASS
masked_filltests/compiletest/ui/attention_kernel.rsmasked_fill.pyPASS
causal_attentiontests/compiletest/ui/attention_extended_kernel.rsPASS
cross_attentiontests/compiletest/ui/attention_extended_kernel.rscross_attention.pyPASS
multi_query_attentiontests/compiletest/ui/attention_extended_kernel.rsmulti_query_attention.pyPASS
group_query_attentiontests/compiletest/ui/attention_extended_kernel.rsgroup_query_attention.pyPASS
kv_cached_attentiontests/compiletest/ui/attention_extended_kernel.rsPASS
cross_modal_attentiontests/compiletest/ui/attention_extended_kernel.rscross_modal_attention.pyPASS
linear_attentiontests/compiletest/ui/attention_extended_kernel.rslinear_attention.pyPASS
sparse_attentiontests/compiletest/ui/attention_extended_kernel.rssparse_attention.pyPASS
windowed_causal_attentiontests/compiletest/ui/attention_extended_kernel.rswindowed_causal_attention.pyPASS
min_gpt_causal_attentiontests/compiletest/ui/attention_extended_kernel.rsmin_gpt_causal_attention.pyPASS
relu_self_attentiontests/compiletest/ui/attention_extended_kernel.rsrelu_self_attention.pyPASS
vision_attentiontests/compiletest/ui/attention_extended_kernel.rsvision_attention.pyPASS
scaled_dot_product_attentiontests/compiletest/ui/attention_extended_kernel.rsscaled_dot_product_attention.pyPASS
sdpa_inferencetests/compiletest/ui/attention_extended_kernel.rssdpa_inference.pyPASS
sdpa_long_contexttests/compiletest/ui/attention_extended_kernel.rssdpa_long_context.pyPASS
kv_cached_chat_batch_attentiontests/compiletest/ui/attention_extended_kernel.rskv_cached_chat_batch_attention.pyPASS
kv_cached_speculative_attentiontests/compiletest/ui/attention_extended_kernel.rskv_cached_speculative_attention.pyPASS

Broadcast(12 个内核)

适用漏洞模式: V1(type erasure),V2(bounds),V5(double free)

MKB 参考: reference_kernels/broadcast/

Convolution(34 个内核)

适用漏洞模式: V2(nested loop OOB),V3(stride*index overflow)

MKB 参考: reference_kernels/convolution/

内核函数源文件MKB 参考910B3 状态
conv_standard_1dtests/compiletest/ui/conv_standard_kernel.rsconv_standard_1d.pyPASS
conv_standard_1d_dilated_stridedtests/compiletest/ui/conv_standard_kernel.rsconv_standard_1d_dilated_strided.pyPASS
conv_standard_2d_square_squaretests/compiletest/ui/conv_standard_kernel.rsconv_standard_2d_square_square.pyPASS
conv_standard_2d_asym_squaretests/compiletest/ui/conv_standard_kernel.rsconv_standard_2d_asym_square.pyPASS
conv_standard_2d_square_asymtests/compiletest/ui/conv_standard_kernel.rsconv_standard_2d_square_asym.pyPASS
conv_standard_2d_asym_asymtests/compiletest/ui/conv_standard_kernel.rsconv_standard_2d_asym_asym.pyPASS
conv_standard_2d_dilated_paddedtests/compiletest/ui/conv_standard_kernel.rsconv_standard_2d_dilated_padded.pyPASS
conv_standard_3d_square_squaretests/compiletest/ui/conv_standard_kernel.rsconv_standard_3d_square_square.pyPASS
conv_standard_3d_asym_squaretests/compiletest/ui/conv_standard_kernel.rsconv_standard_3d_asym_square.pyPASS
conv_standard_3d_square_asymtests/compiletest/ui/conv_standard_kernel.rsconv_standard_3d_square_asym.pyPASS
conv_standard_3d_asym_asymtests/compiletest/ui/conv_standard_kernel.rsconv_standard_3d_asym_asym.pyPASS
conv_depthwise_2d_sq_sqtests/compiletest/ui/conv_depthwise_kernel.rsconv_depthwise_2d_sq_sq.pyPASS
conv_depthwise_2d_asym_sqtests/compiletest/ui/conv_depthwise_kernel.rsconv_depthwise_2d_asym_sq.pyPASS
conv_depthwise_2d_sq_asymtests/compiletest/ui/conv_depthwise_kernel.rsconv_depthwise_2d_sq_asym.pyPASS
conv_depthwise_2d_asym_asymtests/compiletest/ui/conv_depthwise_kernel.rsconv_depthwise_2d_asym_asym.pyPASS
conv_depthwise_separable_2dtests/compiletest/ui/conv_depthwise_kernel.rsconv_depthwise_separable_2d.pyPASS
conv_pointwise_2dtests/compiletest/ui/conv_depthwise_kernel.rsconv_pointwise_2d.pyPASS
conv_transposed_1dtests/compiletest/ui/conv_transpose_kernel.rsconv_transposed_1d.pyPASS
conv_transposed_1d_dilatedtests/compiletest/ui/conv_transpose_kernel.rsconv_transposed_1d_dilated.pyPASS
conv_transposed_1d_asym_padded_strided_dilatedtests/compiletest/ui/conv_transpose_kernel.rsPASS
conv_transposed_2d_sq_sqtests/compiletest/ui/conv_transpose_kernel.rsconv_transposed_2d_sq_sq.pyPASS
conv_transposed_2d_sq_asymtests/compiletest/ui/conv_transpose_kernel.rsconv_transposed_2d_sq_asym.pyPASS
conv_transposed_2d_asym_sqtests/compiletest/ui/conv_transpose_kernel.rsconv_transposed_2d_asym_sq.pyPASS
conv_transposed_2d_asym_asymtests/compiletest/ui/conv_transpose_kernel.rsconv_transposed_2d_asym_asym.pyPASS
conv_transposed_2d_asym_asym_paddedtests/compiletest/ui/conv_transpose_kernel.rsPASS
conv_transposed_2d_dilated_padded_stridedtests/compiletest/ui/conv_transpose_kernel.rsPASS
conv_transposed_2d_groupedtests/compiletest/ui/conv_transpose_kernel.rsPASS
conv_transposed_3d_sq_sqtests/compiletest/ui/conv_transpose_kernel.rsconv_transposed_3d_sq_sq.pyPASS
conv_transposed_3d_sq_asymtests/compiletest/ui/conv_transpose_kernel.rsconv_transposed_3d_sq_asym.pyPASS
conv_transposed_3d_asym_sqtests/compiletest/ui/conv_transpose_kernel.rsconv_transposed_3d_asym_sq.pyPASS
conv_transposed_3d_asym_asymtests/compiletest/ui/conv_transpose_kernel.rsconv_transposed_3d_asym_asym.pyPASS
conv_transposed_3d_asym_sq_groupedtests/compiletest/ui/conv_transpose_kernel.rsPASS
conv_transposed_3d_asym_asym_groupedtests/compiletest/ui/conv_transpose_kernel.rsPASS
conv_transposed_3d_sq_sq_dilatedtests/compiletest/ui/conv_transpose_kernel.rsPASS

Fuse(120 个内核)

适用漏洞模式: V1,V2,V4(use-after-free in chain),V6(inter-op sync)

MKB 参考: reference_kernels/fuse/

内核函数源文件MKB 参考910B3 状态
fused_relu_hardswishtests/compiletest/ui/fused_activation_chain_kernel.rsfused_relu_hardswish.pyPASS
fused_hardswish_relutests/compiletest/ui/fused_activation_chain_kernel.rsfused_hardswish_relu.pyPASS
fused_mish_mishtests/compiletest/ui/fused_activation_chain_kernel.rsfused_mish_mish.pyPASS
fused_mish_tanhtests/compiletest/ui/fused_activation_chain_kernel.rsfused_mish_tanh.pyPASS
fused_min_tanh_tanhtests/compiletest/ui/fused_activation_chain_kernel.rsfused_min_tanh_tanh.pyPASS
fused_mul_leakyrelu_gelutests/compiletest/ui/fused_activation_chain_kernel.rsfused_mul_leakyrelu_gelu.pyPASS
fused_sub_tanh_subtests/compiletest/ui/fused_activation_chain_kernel.rsfused_sub_tanh_sub.pyPASS
fused_sigmoid_sumtests/compiletest/ui/fused_activation_chain_kernel.rsfused_sigmoid_sum.pyPASS
fused_add_scale_sigmoidtests/compiletest/ui/fused_activation_chain_kernel.rsfused_add_scale_sigmoid.pyPASS
fused_scale_mintests/compiletest/ui/fused_activation_chain_kernel.rsfused_scale_min.pyPASS
fused_leakyrelu_leakyrelu_gelu_gelutests/compiletest/ui/fused_activation_chain_kernel.rsfused_leakyrelu_leakyrelu_gelu_gelu.pyPASS
fused_divide_leakyrelutests/compiletest/ui/fused_activation_chain_kernel.rsfused_divide_leakyrelu.pyPASS
fused_sub_hardswishtests/compiletest/ui/fused_activation_chain_kernel.rsfused_sub_hardswish.pyPASS
fused_tanh_scale_bias_maxtests/compiletest/ui/fused_activation_chain_kernel.rsfused_tanh_scale_bias_max.pyPASS
fused_relu_bias_addtests/compiletest/ui/fused_activation_chain_kernel.rsfused_relu_bias_add.pyPASS
fused_hardswish_relu_softmax_meantests/compiletest/ui/fused_activation_chain_kernel.rsfused_hardswish_relu_softmax_mean.pyPASS
fused_leakyrelu_clamp_gelutests/compiletest/ui/fused_activation_chain_kernel.rsfused_leakyrelu_clamp_gelu.pyPASS
fused_norm_add_multests/compiletest/ui/fused_multi_op_kernel.rsfused_norm_add_mul.pyPASS
fused_scale_normtests/compiletest/ui/fused_multi_op_kernel.rsfused_scale_norm.pyPASS
fused_sub_mish_mishtests/compiletest/ui/fused_multi_op_kernel.rsfused_sub_mish_mish.pyPASS
fused_sub_tanh_sub_meantests/compiletest/ui/fused_multi_op_kernel.rsfused_sub_tanh_sub_mean.pyPASS
fused_min_add_multests/compiletest/ui/fused_multi_op_kernel.rsfused_min_add_mul.pyPASS
fused_elu_scaletests/compiletest/ui/fused_multi_op_kernel.rsfused_elu_scale.pyPASS
fused_selu_addtests/compiletest/ui/fused_multi_op_kernel.rsfused_selu_add.pyPASS
fused_softplus_tanhtests/compiletest/ui/fused_multi_op_kernel.rsfused_softplus_tanh.pyPASS
fused_relu_scale_addtests/compiletest/ui/fused_multi_op_kernel.rsfused_relu_scale_add.pyPASS
fused_sigmoid_gatetests/compiletest/ui/fused_multi_op_kernel.rsfused_sigmoid_gate.pyPASS
fused_exp_reduce_sumtests/compiletest/ui/fused_multi_op_kernel.rsfused_exp_reduce_sum.pyPASS
log_sum_exptests/compiletest/ui/fused_multi_op_kernel.rslog_sum_exp.pyPASS
fused_max_lse_relutests/compiletest/ui/fused_multi_op_kernel.rsfused_max_lse_relu.pyPASS
fused_hardswish_gelutests/compiletest/ui/fused_multi_op_kernel.rsfused_hardswish_gelu.pyPASS
fused_softsign_scale_addtests/compiletest/ui/fused_multi_op_kernel.rsfused_softsign_scale_add.pyPASS
fused_hardsigmoid_scale_clamptests/compiletest/ui/fused_multi_op_kernel.rsfused_hardsigmoid_scale_clamp.pyPASS
fused_abs_sumtests/compiletest/ui/fused_multi_op_kernel.rsfused_abs_sum.pyPASS
fused_rmsnorm_mish_scaletests/compiletest/ui/fused_multi_op_kernel.rsfused_rmsnorm_mish_scale.pyPASS
fused_reciprocal_scale_addtests/compiletest/ui/fused_multi_op_kernel.rsfused_reciprocal_scale_add.pyPASS
fused_layernorm_relutests/compiletest/ui/fused_norm_activation_kernel.rsfused_layernorm_relu.pyPASS
fused_layernorm_sigmoidtests/compiletest/ui/fused_norm_activation_kernel.rsfused_layernorm_sigmoid.pyPASS
fused_rmsnorm_swishtests/compiletest/ui/fused_norm_activation_kernel.rsfused_rmsnorm_swish.pyPASS
fused_layernorm_tanh_hardswishtests/compiletest/ui/fused_norm_activation_kernel.rsfused_layernorm_tanh_hardswish.pyPASS
fused_softmax_meantests/compiletest/ui/fused_norm_activation_kernel.rsfused_softmax_mean.pyPASS
fused_layernorm_gelutests/compiletest/ui/fused_norm_activation_kernel.rsfused_layernorm_gelu.pyPASS
fused_rmsnorm_gelutests/compiletest/ui/fused_norm_activation_kernel.rsfused_rmsnorm_gelu.pyPASS
fused_log_softmax_meantests/compiletest/ui/fused_norm_activation_kernel.rsfused_log_softmax_mean.pyPASS
test_sigmoidtests/compiletest/ui/composite_ops_kernel.rsPASS
test_tanhtests/compiletest/ui/composite_ops_kernel.rsPASS
test_gelutests/compiletest/ui/composite_ops_kernel.rsPASS
test_softmaxtests/compiletest/ui/composite_ops_kernel.rsPASS
conv2d_activation_batch_normtests/compiletest/ui/fused_conv2d_ext_kernel.rsconv2d_activation_batch_norm.pyPASS
conv2d_add_scale_sigmoid_group_normtests/compiletest/ui/fused_conv2d_ext_kernel.rsconv2d_add_scale_sigmoid_group_norm.pyPASS
conv2d_avg_pool_sigmoid_sumtests/compiletest/ui/fused_conv2d_ext_kernel.rsconv2d_avg_pool_sigmoid_sum.pyPASS
conv2d_batch_norm_scalingtests/compiletest/ui/fused_conv2d_ext_kernel.rsconv2d_batch_norm_scaling.pyPASS
conv2d_gelu_global_avg_pooltests/compiletest/ui/fused_conv2d_ext_kernel.rsconv2d_gelu_global_avg_pool.pyPASS
conv2d_group_norm_scale_max_pool_clamptests/compiletest/ui/fused_conv2d_ext_kernel.rsconv2d_group_norm_scale_max_pool_clamp.pyPASS
conv2d_group_norm_tanh_hard_swish_residual_add_log_sum_exptests/compiletest/ui/fused_conv2d_ext_kernel.rsconv2d_group_norm_tanh_hard_swish_residual_add_log_sum_exp.pyPASS
conv2d_instance_norm_dividetests/compiletest/ui/fused_conv2d_ext_kernel.rsconv2d_instance_norm_divide.pyPASS
conv2d_subtract_hard_swish_max_pool_mishtests/compiletest/ui/fused_conv2d_ext_kernel.rsconv2d_subtract_hard_swish_max_pool_mish.pyPASS
conv2d_subtract_subtract_mishtests/compiletest/ui/fused_conv2d_ext_kernel.rsconv2d_subtract_subtract_mish.pyPASS
conv2d_subtract_tanh_subtract_avg_pooltests/compiletest/ui/fused_conv2d_ext_kernel.rsconv2d_subtract_tanh_subtract_avg_pool.pyPASS
conv3d_divide_max_global_avg_pool_bias_add_sumtests/compiletest/ui/fused_conv3d_ext_kernel.rsconv3d_divide_max_global_avg_pool_bias_add_sum.pyPASS
conv3d_leaky_relu_sum_clamp_gelutests/compiletest/ui/fused_conv3d_ext_kernel.rsconv3d_leaky_relu_sum_clamp_gelu.pyPASS
conv3d_multiply_instance_norm_clamp_multiply_maxtests/compiletest/ui/fused_conv3d_ext_kernel.rsconv3d_multiply_instance_norm_clamp_multiply_max.pyPASS
conv3d_relu_leaky_relu_gelu_sigmoid_bias_addtests/compiletest/ui/fused_conv3d_ext_kernel.rsconv3d_relu_leaky_relu_gelu_sigmoid_bias_add.pyPASS
conv3d_scaling_tanh_multiply_sigmoidtests/compiletest/ui/fused_conv3d_ext_kernel.rsconv3d_scaling_tanh_multiply_sigmoid.pyPASS
conv3d_softmax_max_pool_max_pooltests/compiletest/ui/fused_conv3d_ext_kernel.rsconv3d_softmax_max_pool_max_pool.pyPASS
conv_transpose2d_add_min_gelu_multiplytests/compiletest/ui/fused_conv_transpose2d_kernel.rsconv_transpose2d_add_min_gelu_multiply.pyPASS
conv_transpose2d_bias_add_clamp_scaling_clamp_dividetests/compiletest/ui/fused_conv_transpose2d_kernel.rsconv_transpose2d_bias_add_clamp_scaling_clamp_divide.pyPASS
conv_transpose2d_gelu_group_normtests/compiletest/ui/fused_conv_transpose2d_kernel.rsconv_transpose2d_gelu_group_norm.pyPASS
conv_transpose2d_max_pool_hardtanh_mean_tanhtests/compiletest/ui/fused_conv_transpose2d_kernel.rsconv_transpose2d_max_pool_hardtanh_mean_tanh.pyPASS
conv_transpose2d_min_sum_gelu_addtests/compiletest/ui/fused_conv_transpose2d_kernel.rsconv_transpose2d_min_sum_gelu_add.pyPASS
conv_transpose2d_mish_add_hardtanh_scalingtests/compiletest/ui/fused_conv_transpose2d_kernel.rsconv_transpose2d_mish_add_hardtanh_scaling.pyPASS
conv_transpose2d_multiply_global_avg_pool_global_avg_pool_meantests/compiletest/ui/fused_conv_transpose2d_kernel.rsconv_transpose2d_multiply_global_avg_pool_global_avg_pool_mean.pyPASS
conv_transpose2d_subtract_tanhtests/compiletest/ui/fused_conv_transpose2d_kernel.rsconv_transpose2d_subtract_tanh.pyPASS
convtranspose2d_batchnorm_tanh_maxpool_groupnormtests/compiletest/ui/fused_conv_transpose2d_kernel.rsconvtranspose2d_batchnorm_tanh_maxpool_groupnorm.pyPASS
convtranspose2d_globalavgpool_biasadd_logsumexp_sum_multiplytests/compiletest/ui/fused_conv_transpose2d_kernel.rsconvtranspose2d_globalavgpool_biasadd_logsumexp_sum_multiply.pyPASS
convtranspose2d_softmax_biasadd_scaling_sigmoidtests/compiletest/ui/fused_conv_transpose2d_kernel.rsconvtranspose2d_softmax_biasadd_scaling_sigmoid.pyPASS
conv_transpose3d_add_hard_swishtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_add_hard_swish.pyPASS
conv_transpose3d_avg_pool_clamp_softmax_multiplytests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_avg_pool_clamp_softmax_multiply.pyPASS
conv_transpose3d_batch_norm_avg_pool_avg_pooltests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_batch_norm_avg_pool_avg_pool.pyPASS
conv_transpose3d_batch_norm_subtracttests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_batch_norm_subtract.pyPASS
conv_transpose3d_clamp_min_dividetests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_clamp_min_divide.pyPASS
conv_transpose3d_layer_norm_gelu_scalingtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_layer_norm_gelu_scaling.pyPASS
conv_transpose3d_leaky_relu_multiply_leaky_relu_maxtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_leaky_relu_multiply_leaky_relu_max.pyPASS
conv_transpose3d_log_sum_exp_hard_swish_subtract_clamp_maxtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_log_sum_exp_hard_swish_subtract_clamp_max.pyPASS
conv_transpose3d_max_max_sumtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_max_max_sum.pyPASS
conv_transpose3d_max_pool_softmax_subtract_swish_maxtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_max_pool_softmax_subtract_swish_max.pyPASS
conv_transpose3d_multiply_max_global_avg_pool_clamptests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_multiply_max_global_avg_pool_clamp.pyPASS
conv_transpose3d_scale_batch_norm_global_avg_pooltests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_scale_batch_norm_global_avg_pool.pyPASS
conv_transpose3d_scaling_avg_pool_bias_add_scalingtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_scaling_avg_pool_bias_add_scaling.pyPASS
conv_transpose3d_softmax_sigmoidtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_softmax_sigmoid.pyPASS
conv_transpose3d_sum_layer_norm_avg_pool_gelutests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_sum_layer_norm_avg_pool_gelu.pyPASS
conv_transpose3d_sum_residual_add_multiply_residual_addtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_sum_residual_add_multiply_residual_add.pyPASS
conv_transpose3d_swish_group_norm_hard_swishtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconv_transpose3d_swish_group_norm_hard_swish.pyPASS
convtranspose3d_mean_add_softmax_tanh_scalingtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconvtranspose3d_mean_add_softmax_tanh_scaling.pyPASS
convtranspose3d_relu_groupnormtests/compiletest/ui/fused_conv_transpose3d_kernel.rsconvtranspose3d_relu_groupnorm.pyPASS
gemm_add_relutests/compiletest/ui/fused_gemm_ext_kernel.rsgemm_add_relu.pyPASS
gemm_batch_norm_gelu_group_norm_mean_relutests/compiletest/ui/fused_gemm_ext_kernel.rsgemm_batch_norm_gelu_group_norm_mean_relu.pyPASS
gemm_batch_norm_scaling_softmaxtests/compiletest/ui/fused_gemm_ext_kernel.rsgemm_batch_norm_scaling_softmax.pyPASS
gemm_log_sum_exp_leaky_relu_leaky_relu_gelu_gelutests/compiletest/ui/fused_gemm_ext_kernel.rsgemm_log_sum_exp_leaky_relu_leaky_relu_gelu_gelu.pyPASS
gemm_sigmoid_sum_log_sum_exptests/compiletest/ui/fused_gemm_ext_kernel.rsgemm_sigmoid_sum_log_sum_exp.pyPASS
gemm_subtract_global_avg_pool_log_sum_exp_gelu_residual_addtests/compiletest/ui/fused_gemm_ext_kernel.rsgemm_subtract_global_avg_pool_log_sum_exp_gelu_residual_add.pyPASS
matmul_avg_pool_gelu_scale_maxtests/compiletest/ui/fused_matmul_ext_kernel.rsmatmul_avg_pool_gelu_scale_max.pyPASS
matmul_batch_norm_bias_add_divide_swishtests/compiletest/ui/fused_matmul_ext_kernel.rsmatmul_batch_norm_bias_add_divide_swish.pyPASS
matmul_dropout_mean_softmaxtests/compiletest/ui/fused_matmul_ext_kernel.rsmatmul_dropout_mean_softmax.pyPASS
matmul_scale_residual_add_clamp_log_sum_exp_mishtests/compiletest/ui/fused_matmul_ext_kernel.rsmatmul_scale_residual_add_clamp_log_sum_exp_mish.pyPASS
matmul_scaling_residual_addtests/compiletest/ui/fused_matmul_ext_kernel.rsmatmul_scaling_residual_add.pyPASS
matmul_sigmoid_sumtests/compiletest/ui/fused_matmul_ext_kernel.rsmatmul_sigmoid_sum.pyPASS
matmul_subtract_multiply_relutests/compiletest/ui/fused_matmul_ext_kernel.rsmatmul_subtract_multiply_relu.pyPASS
matmul_sum_max_avg_pool_log_sum_exp_log_sum_exptests/compiletest/ui/fused_matmul_ext_kernel.rsmatmul_sum_max_avg_pool_log_sum_exp_log_sum_exp.pyPASS
matmul_swish_scalingtests/compiletest/ui/fused_matmul_ext_kernel.rsmatmul_swish_scaling.pyPASS
matmul_swish_sum_group_normtests/compiletest/ui/fused_matmul_ext_kernel.rsmatmul_swish_sum_group_norm.pyPASS
bmm_instance_norm_sum_residual_add_multiplytests/compiletest/ui/fused_matmul_ext_kernel.rsbmm_instance_norm_sum_residual_add_multiply.pyPASS
fused_gemm_norm_gelutests/compiletest/ui/fused_matmul_norm_kernel.rsPASS
fused_gemm_norm_scale_softmaxtests/compiletest/ui/fused_matmul_norm_kernel.rsPASS
fused_gemm_scale_normtests/compiletest/ui/fused_matmul_norm_kernel.rsPASS
fused_gemm_norm_hardtanhtests/compiletest/ui/fused_matmul_norm_kernel.rsPASS
fused_gemm_norm_swish_mul_swishtests/compiletest/ui/fused_matmul_norm_kernel.rsPASS
fused_gemm_bias_hardtanh_mish_normtests/compiletest/ui/fused_matmul_norm_kernel.rsPASS
gemm_scale_batch_normtests/compiletest/ui/fused_matmul_norm_kernel.rsgemm_scale_batch_norm.pyPASS
gemm_scale_batchnormtests/compiletest/ui/fused_matmul_norm_kernel.rsgemm_scale_batchnorm.pyPASS

Index(12 个内核)

适用漏洞模式: V2(gather/scatter OOB),V3(index calc overflow)

MKB 参考: reference_kernels/index/

Loss(6 个内核)

适用漏洞模式: V1,V2,V6(reduction sync)

MKB 参考: reference_kernels/loss/

Math(5 个内核)

适用漏洞模式: V2(cumulative bounds),V3(offset overflow)

MKB 参考: reference_kernels/math/

Matmul(23 个内核)

适用漏洞模式: V1(type erasure f16/f32),V2(tile bounds),V3(dim overflow),V6(cube sync)

MKB 参考: reference_kernels/matmul/

内核函数源文件MKB 参考910B3 状态
matmultests/compiletest/ui/matmul_kernel.rsmatmul.pyPASS
matmul_standardtests/compiletest/ui/matmul_ops_kernel.rsmatmul_standard.pyPASS
matmul_squaretests/compiletest/ui/matmul_ops_kernel.rsmatmul_square.pyPASS
matmul_matvectests/compiletest/ui/matmul_ops_kernel.rsmatmul_matvec.pyPASS
matmul_large_ktests/compiletest/ui/matmul_ops_kernel.rsmatmul_large_k.pyPASS
matmul_small_ktests/compiletest/ui/matmul_ops_kernel.rsmatmul_small_k.pyPASS
matmul_irregulartests/compiletest/ui/matmul_ops_kernel.rsmatmul_irregular.pyPASS
matmul_tall_skinnytests/compiletest/ui/matmul_ops_kernel.rsmatmul_tall_skinny.pyPASS
matmul_transposed_atests/compiletest/ui/matmul_transpose_kernel.rsPASS
matmul_transposed_btests/compiletest/ui/matmul_transpose_kernel.rsPASS
matmul_transposed_bothtests/compiletest/ui/matmul_transpose_kernel.rsPASS
matmul_lower_triangulartests/compiletest/ui/matmul_transpose_kernel.rsPASS
matmul_upper_triangulartests/compiletest/ui/matmul_transpose_kernel.rsPASS
matmul_batchedtests/compiletest/ui/matmul_extended_kernel.rsmatmul_batched.pyPASS
matmul_symmetrictests/compiletest/ui/matmul_extended_kernel.rsmatmul_symmetric.pyPASS
matmul_biastests/compiletest/ui/matmul_extended_kernel.rsmatmul_bias.pyPASS
matmul_scaledtests/compiletest/ui/matmul_extended_kernel.rsmatmul_scaled.pyPASS
gemm_fulltests/compiletest/ui/matmul_extended_kernel.rsgemm_full.pyPASS
matmul_widetests/compiletest/ui/matmul_extended_kernel.rsmatmul_wide.pyPASS
matmul_relu_matmultests/compiletest/ui/matmul_extended_kernel.rsmatmul_relu_matmul.pyPASS
matmul_accumulatetests/compiletest/ui/matmul_extended_kernel.rsmatmul_accumulate.pyPASS
matmul_diag_scaletests/compiletest/ui/matmul_extended_kernel.rsmatmul_diag_scale.pyPASS
outer_producttests/compiletest/ui/matmul_extended_kernel.rsPASS

Normalization(10 个内核)

适用漏洞模式: V1,V2,V6(reduce-normalize sync)

MKB 参考: reference_kernels/normalization/

Optimizer(6 个内核)

适用漏洞模式: V1,V2(param bounds),V4(in-place update UAF)

MKB 参考: reference_kernels/optimizer/

Pooling(12 个内核)

适用漏洞模式: V2(window OOB),V3(stride overflow)

MKB 参考: reference_kernels/pooling/

Reduce(5 个内核)

适用漏洞模式: V1,V2,V6(reduction pipeline sync)

MKB 参考: reference_kernels/reduce/

Resize(15 个内核)

适用漏洞模式: V2(interpolation OOB),V3(coordinate overflow)

MKB 参考: reference_kernels/resize/

Tiled(16 个内核)

适用漏洞模式: V2(tile boundary OOB),V6(tile-boundary sync)

Multiblock(16 个内核)

适用漏洞模式: V2(block partition OOB),V6(cross-block sync)

F16(14 个内核)

适用漏洞模式: V1(f16/f32 type confusion)

Unary_math(8 个内核)

适用漏洞模式: V1,V2

可部署内核(含宿主机代码)

内核源文件用途
?examples/bench_softmax_tile/kernels/src/lib.rsDeployable kernel
scale_f16examples/mha/kernels/src/lib.rsMulti-head attention (f16 scale + softmax)
softmax_rows_f16examples/mha/kernels/src/lib.rsMulti-head attention (f16 scale + softmax)
?examples/acl_vec_mul/kernels/src/lib.rsVector multiplication example
mulexamples/acl_vec_mul/kernels/src/lib.rsVector multiplication example
tile_softmaxexamples/tile_softmax/kernels/src/lib.rsDeployable kernel
?examples/tile_matmul/kernels/src/lib.rsDeployable kernel
softmaxexamples/bench_softmax_rs/kernels/src/lib.rsSoftmax benchmark (Rust)
addexamples/acl_rs_vec_add/kernels/src/lib.rsVector addition end-to-end example
test_store_constexamples/acl_softmax/kernels/src/lib.rsSoftmax with store/copy test kernels
test_copyexamples/acl_softmax/kernels/src/lib.rsSoftmax with store/copy test kernels
softmaxexamples/acl_softmax/kernels/src/lib.rsSoftmax with store/copy test kernels
vec_addexamples/bench_vec_add_rs/kernels/src/lib.rsVector add benchmark (Rust)
matmulexamples/bench_matmul_rs/kernels/src/lib.rsMatrix multiply benchmark (Rust)

内存安全案例研究

每组案例包含一个有漏洞的 C++ 内核和一个结构上安全的 Rust 内核。

案例漏洞类型C++ 文件Rust 文件
1类型混淆(GM_ADDR 类型擦除)vulnerable.cppsafe.rs
2缓冲区溢出(无边界检查索引)vulnerable.cppsafe.rs
3释放后使用(FreeTensor 后访问)vulnerable.cppsafe.rs
4同步缺失(遗漏 pipe_barriervulnerable.cppsafe.rs
5双重释放(重复 FreeTensorvulnerable.cppsafe.rs
6整数溢出(偏移计算静默回绕)vulnerable.cppsafe.rs

性能比较(待完成)

内核ascend-rs 耗时AscendC C++ 耗时比率备注
softmax (256)0.077 ms0.078 ms0.99x零开销
softmax (16384)0.087 ms0.089 ms0.98x零开销
relu待测
matmul待测
layernorm待测
conv2d待测

性能评测实验正在进行中。上表将随实验结果持续更新。


本附录由 bash scripts/generate_kernel_appendix.sh --lang zh 自动生成。 内核计数: 编译测试 486 + 可部署 19 = 总计 505。