vai-custom-op-implementation
End-to-end custom AIE operator development for VAIML: extract a subgraph from an ONNX model, develop a custom kernel and tiling, validate with x86sim against a CPU reference, and re-integrate the custom op back into the full model. Use when the user wants to create a custom op, write a kernel, define tiling, compile for AIE, simulate with x86sim, or integrate a custom op into a model.
- Version
- 6.3.0
- License
- Apache-2.0 WITH LLVM-exception
- Compatibility
- Requires VitisAI 6.3+
Pinned to revision 2cdc9eef1b6b, so it is the text this page describes rather than whatever the author pushed since.
Files
- skills/vai-custom-op-implementation/SKILL.md
- skills/vai-custom-op-implementation/README.md
- skills/vai-custom-op-implementation/kernel_development.md
- skills/vai-custom-op-implementation/resources/1d-conv-ofm-tiles.svg
- skills/vai-custom-op-implementation/resources/AIE-1x4x4-overlay-1d-conv-lanes.svg
- skills/vai-custom-op-implementation/resources/AIE-1x4x4-overlay.svg
- skills/vai-custom-op-implementation/resources/AIE-6x4x4-overlay-stamp0.svg
- skills/vai-custom-op-implementation/resources/automatic-spatial-distribution.svg
- skills/vai-custom-op-implementation/resources/data-movement-flow.svg
- skills/vai-custom-op-implementation/resources/development_diagram.svg
- skills/vai-custom-op-implementation/resources/mk-rep-calc.svg
- skills/vai-custom-op-implementation/scripts/compare_npy.py
- skills/vai-custom-op-implementation/scripts/compare_npz.py
- skills/vai-custom-op-implementation/scripts/compile.py
- skills/vai-custom-op-implementation/scripts/custom_ops_utils.py
- skills/vai-custom-op-implementation/scripts/npy_stats.py
- skills/vai-custom-op-implementation/scripts/onnx_cut.py
- skills/vai-custom-op-implementation/scripts/onnx_graph_utils.py
- skills/vai-custom-op-implementation/scripts/onnx_stitch.py
- skills/vai-custom-op-implementation/scripts/post_compile_checks.py
- skills/vai-custom-op-implementation/scripts/post_compile_utils.py
- skills/vai-custom-op-implementation/scripts/print_npy.py
- skills/vai-custom-op-implementation/scripts/run.py
- skills/vai-custom-op-implementation/scripts/run_on_board.py
- skills/vai-custom-op-implementation/scripts/ssh_utils.py
- skills/vai-custom-op-implementation/tiling.md
- skills/vai-custom-op-implementation/tutorial/README.md
- skills/vai-custom-op-implementation/tutorial/addmul/0_l3_scratch/addmul.onnxtxt
- skills/vai-custom-op-implementation/tutorial/addmul/0_l3_scratch/custom_op_addmul/custom_addmul.yaml
- skills/vai-custom-op-implementation/tutorial/addmul/0_l3_scratch/custom_op_addmul/custom_addmul_add.cpp
- skills/vai-custom-op-implementation/tutorial/addmul/0_l3_scratch/custom_op_addmul/custom_addmul_mul.cpp
- skills/vai-custom-op-implementation/tutorial/addmul/0_l3_scratch/custom_op_addmul/custom_addmul_tiling.py
- skills/vai-custom-op-implementation/tutorial/addmul/0_l3_scratch/run.py
- skills/vai-custom-op-implementation/tutorial/addmul/0_l3_scratch/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/addmul/README.md
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/customop_affinegrid2d/customop_affinegrid2d.cpp
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/customop_affinegrid2d/customop_affinegrid2d.yaml
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/customop_affinegrid2d/customop_affinegrid2d_tiling.py
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/ofm_0_ref.npy
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/op_affinegrid.onnx
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/op_affinegrid.onnxtxt
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/op_myaffinegrid.onnx
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/op_myaffinegrid.onnxtxt
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/run.py
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/size_input.npy
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/theta_input.npy
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/theta_inputs.json
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/0_nonvectorized_1x1/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/customop_affinegrid2d/customop_affinegrid2d.cpp
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/customop_affinegrid2d/customop_affinegrid2d.yaml
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/customop_affinegrid2d/customop_affinegrid2d_tiling.py
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/ofm_0_ref.npy
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/op_affinegrid.onnx
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/op_affinegrid.onnxtxt
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/op_myaffinegrid.onnx
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/op_myaffinegrid.onnxtxt
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/run.py
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/size_input.npy
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/theta_input.npy
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/theta_inputs.json
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/1_vectorized_1x1/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/customop_affinegrid2d/customop_affinegrid2d.cpp
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/customop_affinegrid2d/customop_affinegrid2d.yaml
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/customop_affinegrid2d/customop_affinegrid2d_tiling.py
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/ofm_0_ref.npy
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/op_affinegrid.onnx
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/op_affinegrid.onnxtxt
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/op_myaffinegrid.onnx
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/op_myaffinegrid.onnxtxt
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/run.py
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/size_input.npy
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/theta_input.npy
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/theta_inputs.json
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/2_distributed_4x4/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/affinegrid2d/README.md
- skills/vai-custom-op-implementation/tutorial/concat/0_innermost/concat4.onnxtxt
- skills/vai-custom-op-implementation/tutorial/concat/0_innermost/custom_op_concat4/custom_concat4.cpp
- skills/vai-custom-op-implementation/tutorial/concat/0_innermost/custom_op_concat4/custom_concat4.yaml
- skills/vai-custom-op-implementation/tutorial/concat/0_innermost/custom_op_concat4/custom_concat4_tiling.py
- skills/vai-custom-op-implementation/tutorial/concat/0_innermost/run.py
- skills/vai-custom-op-implementation/tutorial/concat/0_innermost/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/conv1d/0_distributed/conv1d.onnx
- skills/vai-custom-op-implementation/tutorial/conv1d/0_distributed/conv1d.onnxtxt
- skills/vai-custom-op-implementation/tutorial/conv1d/0_distributed/custom_op_conv1d/custom_conv1d.cpp
- skills/vai-custom-op-implementation/tutorial/conv1d/0_distributed/custom_op_conv1d/custom_conv1d.yaml
- skills/vai-custom-op-implementation/tutorial/conv1d/0_distributed/custom_op_conv1d/custom_conv1d_tiling.py
- skills/vai-custom-op-implementation/tutorial/conv1d/0_distributed/run.py
- skills/vai-custom-op-implementation/tutorial/conv1d/0_distributed/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/conv1d/README.md
- skills/vai-custom-op-implementation/tutorial/conv2d/conv3x3_int8_2stamp/conv3x3_int8.onnx
- skills/vai-custom-op-implementation/tutorial/conv2d/conv3x3_int8_2stamp/conv3x3_int8.onnxtxt
- skills/vai-custom-op-implementation/tutorial/conv2d/conv3x3_int8_2stamp/custom_op_myconv/myconv.cpp
- skills/vai-custom-op-implementation/tutorial/conv2d/conv3x3_int8_2stamp/custom_op_myconv/myconv.yaml
- skills/vai-custom-op-implementation/tutorial/conv2d/conv3x3_int8_2stamp/custom_op_myconv/myconv_tiling.py
- skills/vai-custom-op-implementation/tutorial/conv2d/conv3x3_int8_2stamp/run.py
- skills/vai-custom-op-implementation/tutorial/conv2d/conv3x3_int8_2stamp/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/gemm/custom_op_gemm/custom_gemm_bias.cpp
- skills/vai-custom-op-implementation/tutorial/gemm/custom_op_gemm/custom_gemm_bias.yaml
- skills/vai-custom-op-implementation/tutorial/gemm/custom_op_gemm/custom_gemm_bias_tiling.py
- skills/vai-custom-op-implementation/tutorial/gemm/gemm_bias.onnx
- skills/vai-custom-op-implementation/tutorial/gemm/gemm_bias.onnxtxt
- skills/vai-custom-op-implementation/tutorial/gemm/run.py
- skills/vai-custom-op-implementation/tutorial/gemm/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/customop_gridsample2d/customop_gridsample2d.cpp
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/customop_gridsample2d/customop_gridsample2d.yaml
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/customop_gridsample2d/customop_gridsample2d_tiling.py
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/images_input/grid_input_align_corners_0.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/images_input/grid_input_align_corners_1.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/images_input/inputs_ref_0-4.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/images_input/inputs_ref_0_0.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/images_input/inputs_ref_0_1.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/images_input/inputs_ref_0_2.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/images_input/inputs_ref_0_3.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/op_gridsample.onnx
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/op_gridsample.onnxtxt
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/op_mygridsample.onnx
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/op_mygridsample.onnxtxt
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/run.py
- skills/vai-custom-op-implementation/tutorial/gridsample2d/0_scalar_1x1/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/customop_gridsample2d/customop_gridsample2d.cpp
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/customop_gridsample2d/customop_gridsample2d.yaml
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/customop_gridsample2d/customop_gridsample2d_tiling.py
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/images_input/grid_input_align_corners_0.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/images_input/grid_input_align_corners_1.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/images_input/inputs_ref_0-4.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/images_input/inputs_ref_0_0.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/images_input/inputs_ref_0_1.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/images_input/inputs_ref_0_2.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/images_input/inputs_ref_0_3.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/op_gridsample.onnx
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/op_gridsample.onnxtxt
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/op_mygridsample.onnx
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/op_mygridsample.onnxtxt
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/run.py
- skills/vai-custom-op-implementation/tutorial/gridsample2d/1_tiled_1x1/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/customop_gridsample2d/customop_gridsample2d.cpp
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/customop_gridsample2d/customop_gridsample2d.yaml
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/customop_gridsample2d/customop_gridsample2d_tiling.py
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/images_input/grid_input_align_corners_0.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/images_input/grid_input_align_corners_1.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/images_input/inputs_ref_0-4.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/images_input/inputs_ref_0_0.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/images_input/inputs_ref_0_1.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/images_input/inputs_ref_0_2.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/images_input/inputs_ref_0_3.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/ofm_0_ref.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/op_gridsample.onnx
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/op_gridsample.onnxtxt
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/op_mygridsample.onnx
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/op_mygridsample.onnxtxt
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/run.py
- skills/vai-custom-op-implementation/tutorial/gridsample2d/2_tiled_1x4/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/customop_gridsample2d/customop_gridsample2d.cpp
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/customop_gridsample2d/customop_gridsample2d.yaml
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/customop_gridsample2d/customop_gridsample2d_tiling.py
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/images_input/grid_input_align_corners_0.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/images_input/grid_input_align_corners_1.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/images_input/inputs_ref_0-4.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/images_input/inputs_ref_0_0.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/images_input/inputs_ref_0_1.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/images_input/inputs_ref_0_2.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/images_input/inputs_ref_0_3.png
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/ofm_0_ref.npy
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/op_gridsample.onnx
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/op_gridsample.onnxtxt
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/op_mygridsample.onnx
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/op_mygridsample.onnxtxt
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/run.py
- skills/vai-custom-op-implementation/tutorial/gridsample2d/3_tiled_4x4/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/gridsample2d/README.md
- skills/vai-custom-op-implementation/tutorial/interleave/0_quarter_fan/custom_op_interleave/custom_interleave.cpp
- skills/vai-custom-op-implementation/tutorial/interleave/0_quarter_fan/custom_op_interleave/custom_interleave.yaml
- skills/vai-custom-op-implementation/tutorial/interleave/0_quarter_fan/custom_op_interleave/custom_interleave_tiling.py
- skills/vai-custom-op-implementation/tutorial/interleave/0_quarter_fan/interleave.onnxtxt
- skills/vai-custom-op-implementation/tutorial/interleave/0_quarter_fan/run.py
- skills/vai-custom-op-implementation/tutorial/interleave/0_quarter_fan/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/mul/0_untiled/custom_op_mul/custom_mul.cpp
- skills/vai-custom-op-implementation/tutorial/mul/0_untiled/custom_op_mul/custom_mul.yaml
- skills/vai-custom-op-implementation/tutorial/mul/0_untiled/custom_op_mul/custom_mul_tiling.py
- skills/vai-custom-op-implementation/tutorial/mul/0_untiled/mul.onnx
- skills/vai-custom-op-implementation/tutorial/mul/0_untiled/mul.onnxtxt
- skills/vai-custom-op-implementation/tutorial/mul/0_untiled/run.py
- skills/vai-custom-op-implementation/tutorial/mul/0_untiled/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/mul/1_tiled/custom_op_mul/custom_mul.cpp
- skills/vai-custom-op-implementation/tutorial/mul/1_tiled/custom_op_mul/custom_mul.yaml
- skills/vai-custom-op-implementation/tutorial/mul/1_tiled/custom_op_mul/custom_mul_tiling.py
- skills/vai-custom-op-implementation/tutorial/mul/1_tiled/mul.onnx
- skills/vai-custom-op-implementation/tutorial/mul/1_tiled/mul.onnxtxt
- skills/vai-custom-op-implementation/tutorial/mul/1_tiled/run.py
- skills/vai-custom-op-implementation/tutorial/mul/1_tiled/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/mul/2_distributed/custom_op_mul/custom_mul.cpp
- skills/vai-custom-op-implementation/tutorial/mul/2_distributed/custom_op_mul/custom_mul.yaml
- skills/vai-custom-op-implementation/tutorial/mul/2_distributed/custom_op_mul/custom_mul_tiling.py
- skills/vai-custom-op-implementation/tutorial/mul/2_distributed/mul.onnx
- skills/vai-custom-op-implementation/tutorial/mul/2_distributed/mul.onnxtxt
- skills/vai-custom-op-implementation/tutorial/mul/2_distributed/run.py
- skills/vai-custom-op-implementation/tutorial/mul/2_distributed/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/mul/3_distributed_2stamp/custom_op_mul/custom_mul.cpp
- skills/vai-custom-op-implementation/tutorial/mul/3_distributed_2stamp/custom_op_mul/custom_mul.yaml
- skills/vai-custom-op-implementation/tutorial/mul/3_distributed_2stamp/custom_op_mul/custom_mul_tiling.py
- skills/vai-custom-op-implementation/tutorial/mul/3_distributed_2stamp/mul.onnx
- skills/vai-custom-op-implementation/tutorial/mul/3_distributed_2stamp/mul.onnxtxt
- skills/vai-custom-op-implementation/tutorial/mul/3_distributed_2stamp/run.py
- skills/vai-custom-op-implementation/tutorial/mul/3_distributed_2stamp/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/mul/4_distributed_6stamp/custom_op_mul/custom_mul.cpp
- skills/vai-custom-op-implementation/tutorial/mul/4_distributed_6stamp/custom_op_mul/custom_mul.yaml
- skills/vai-custom-op-implementation/tutorial/mul/4_distributed_6stamp/custom_op_mul/custom_mul_tiling.py
- skills/vai-custom-op-implementation/tutorial/mul/4_distributed_6stamp/mul.onnx
- skills/vai-custom-op-implementation/tutorial/mul/4_distributed_6stamp/mul.onnxtxt
- skills/vai-custom-op-implementation/tutorial/mul/4_distributed_6stamp/original_mul.onnx
- skills/vai-custom-op-implementation/tutorial/mul/4_distributed_6stamp/original_mul.onnxtxt
- skills/vai-custom-op-implementation/tutorial/mul/4_distributed_6stamp/run.py
- skills/vai-custom-op-implementation/tutorial/mul/4_distributed_6stamp/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/mul/5_performant_overlay/custom_op_mul/custom_mul.cpp
- skills/vai-custom-op-implementation/tutorial/mul/5_performant_overlay/custom_op_mul/custom_mul.yaml
- skills/vai-custom-op-implementation/tutorial/mul/5_performant_overlay/custom_op_mul/custom_mul_tiling.py
- skills/vai-custom-op-implementation/tutorial/mul/5_performant_overlay/mul.onnx
- skills/vai-custom-op-implementation/tutorial/mul/5_performant_overlay/mul.onnxtxt
- skills/vai-custom-op-implementation/tutorial/mul/5_performant_overlay/run.py
- skills/vai-custom-op-implementation/tutorial/mul/5_performant_overlay/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/mul/README.md
- skills/vai-custom-op-implementation/tutorial/negate/0_untiled/custom_op_negate/custom_negate.cpp
- skills/vai-custom-op-implementation/tutorial/negate/0_untiled/custom_op_negate/custom_negate.yaml
- skills/vai-custom-op-implementation/tutorial/negate/0_untiled/custom_op_negate/custom_negate_tiling.py
- skills/vai-custom-op-implementation/tutorial/negate/0_untiled/negate.onnx
- skills/vai-custom-op-implementation/tutorial/negate/0_untiled/negate.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/0_untiled/run.py
- skills/vai-custom-op-implementation/tutorial/negate/0_untiled/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/negate/1_tiled/custom_op_negate/custom_negate.cpp
- skills/vai-custom-op-implementation/tutorial/negate/1_tiled/custom_op_negate/custom_negate.yaml
- skills/vai-custom-op-implementation/tutorial/negate/1_tiled/custom_op_negate/custom_negate_tiling.py
- skills/vai-custom-op-implementation/tutorial/negate/1_tiled/negate2x512x32.onnx
- skills/vai-custom-op-implementation/tutorial/negate/1_tiled/negate2x512x32.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/1_tiled/run.py
- skills/vai-custom-op-implementation/tutorial/negate/1_tiled/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/negate/2_distributed/custom_op_negate/custom_negate.cpp
- skills/vai-custom-op-implementation/tutorial/negate/2_distributed/custom_op_negate/custom_negate.yaml
- skills/vai-custom-op-implementation/tutorial/negate/2_distributed/custom_op_negate/custom_negate_tiling.py
- skills/vai-custom-op-implementation/tutorial/negate/2_distributed/negate2x512x32.onnx
- skills/vai-custom-op-implementation/tutorial/negate/2_distributed/negate2x512x32.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/2_distributed/negate4x512x32.onnx
- skills/vai-custom-op-implementation/tutorial/negate/2_distributed/negate4x512x32.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/2_distributed/run.py
- skills/vai-custom-op-implementation/tutorial/negate/2_distributed/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/negate/3_distributed_and_vectorized/custom_op_negate/custom_negate.cpp
- skills/vai-custom-op-implementation/tutorial/negate/3_distributed_and_vectorized/custom_op_negate/custom_negate.yaml
- skills/vai-custom-op-implementation/tutorial/negate/3_distributed_and_vectorized/custom_op_negate/custom_negate_tiling.py
- skills/vai-custom-op-implementation/tutorial/negate/3_distributed_and_vectorized/negate2x512x32.onnx
- skills/vai-custom-op-implementation/tutorial/negate/3_distributed_and_vectorized/negate2x512x32.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/3_distributed_and_vectorized/negate4x512x32.onnx
- skills/vai-custom-op-implementation/tutorial/negate/3_distributed_and_vectorized/negate4x512x32.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/3_distributed_and_vectorized/run.py
- skills/vai-custom-op-implementation/tutorial/negate/3_distributed_and_vectorized/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/negate/4_distributed_vectorized_2stamp/custom_op_negate/custom_negate.cpp
- skills/vai-custom-op-implementation/tutorial/negate/4_distributed_vectorized_2stamp/custom_op_negate/custom_negate.yaml
- skills/vai-custom-op-implementation/tutorial/negate/4_distributed_vectorized_2stamp/custom_op_negate/custom_negate_tiling.py
- skills/vai-custom-op-implementation/tutorial/negate/4_distributed_vectorized_2stamp/negate4x512x32.onnx
- skills/vai-custom-op-implementation/tutorial/negate/4_distributed_vectorized_2stamp/negate4x512x32.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/4_distributed_vectorized_2stamp/negate8x512x32.onnx
- skills/vai-custom-op-implementation/tutorial/negate/4_distributed_vectorized_2stamp/negate8x512x32.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/4_distributed_vectorized_2stamp/run.py
- skills/vai-custom-op-implementation/tutorial/negate/4_distributed_vectorized_2stamp/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/negate/5_distributed_vectorized_6stamp/custom_op_negate/custom_negate.cpp
- skills/vai-custom-op-implementation/tutorial/negate/5_distributed_vectorized_6stamp/custom_op_negate/custom_negate.yaml
- skills/vai-custom-op-implementation/tutorial/negate/5_distributed_vectorized_6stamp/custom_op_negate/custom_negate_tiling.py
- skills/vai-custom-op-implementation/tutorial/negate/5_distributed_vectorized_6stamp/negate12x512x32.onnx
- skills/vai-custom-op-implementation/tutorial/negate/5_distributed_vectorized_6stamp/negate12x512x32.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/5_distributed_vectorized_6stamp/negate24x512x32.onnx
- skills/vai-custom-op-implementation/tutorial/negate/5_distributed_vectorized_6stamp/negate24x512x32.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/5_distributed_vectorized_6stamp/run.py
- skills/vai-custom-op-implementation/tutorial/negate/5_distributed_vectorized_6stamp/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/negate/6_split_channel/custom_op_negate_split/custom_negate_split.cpp
- skills/vai-custom-op-implementation/tutorial/negate/6_split_channel/custom_op_negate_split/custom_negate_split.yaml
- skills/vai-custom-op-implementation/tutorial/negate/6_split_channel/custom_op_negate_split/custom_negate_split_tiling.py
- skills/vai-custom-op-implementation/tutorial/negate/6_split_channel/negate_split.onnx
- skills/vai-custom-op-implementation/tutorial/negate/6_split_channel/negate_split.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/6_split_channel/run.py
- skills/vai-custom-op-implementation/tutorial/negate/6_split_channel/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/negate/7_reuse_4channel/custom_op_negate_reuse4/custom_negate_reuse4.cpp
- skills/vai-custom-op-implementation/tutorial/negate/7_reuse_4channel/custom_op_negate_reuse4/custom_negate_reuse4.yaml
- skills/vai-custom-op-implementation/tutorial/negate/7_reuse_4channel/custom_op_negate_reuse4/custom_negate_reuse4_tiling.py
- skills/vai-custom-op-implementation/tutorial/negate/7_reuse_4channel/negate_reuse4.onnx
- skills/vai-custom-op-implementation/tutorial/negate/7_reuse_4channel/negate_reuse4.onnxtxt
- skills/vai-custom-op-implementation/tutorial/negate/7_reuse_4channel/run.py
- skills/vai-custom-op-implementation/tutorial/negate/7_reuse_4channel/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/negate/README.md
- skills/vai-custom-op-implementation/tutorial/reducemax/README.md
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_0/CustomReduceMax_axis_0.onnx
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_0/CustomReduceMax_axis_0.onnxtxt
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_0/ReduceMax_axis_0.onnx
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_0/ReduceMax_axis_0.onnxtxt
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_0/custom_reduce_max/custom_reducemax.cpp
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_0/custom_reduce_max/custom_reducemax.yaml
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_0/custom_reduce_max/custom_reducemax_tiling.py
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_0/run.py
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_0/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_2/CustomReduceMax_axis_2.onnx
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_2/CustomReduceMax_axis_2.onnxtxt
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_2/ReduceMax_axis_2.onnx
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_2/ReduceMax_axis_2.onnxtxt
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_2/custom_reduce_max/custom_reducemax.yaml
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_2/custom_reduce_max/custom_reducemax_kernel.cpp
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_2/custom_reduce_max/custom_reducemax_tiling.py
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_2/run.py
- skills/vai-custom-op-implementation/tutorial/reducemax/reduce_max_axis_2/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/spacetodepth/custom_op_spacetodepth/custom_spacetodepth.cpp
- skills/vai-custom-op-implementation/tutorial/spacetodepth/custom_op_spacetodepth/custom_spacetodepth.yaml
- skills/vai-custom-op-implementation/tutorial/spacetodepth/custom_op_spacetodepth/custom_spacetodepth_match.pdll
- skills/vai-custom-op-implementation/tutorial/spacetodepth/custom_op_spacetodepth/custom_spacetodepth_tiling.py
- skills/vai-custom-op-implementation/tutorial/spacetodepth/run.py
- skills/vai-custom-op-implementation/tutorial/spacetodepth/spacetodepth.onnx
- skills/vai-custom-op-implementation/tutorial/spacetodepth/spacetodepth.onnxtxt
- skills/vai-custom-op-implementation/tutorial/spacetodepth/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/topk/0_untiled/custom_op_topk/kernel.cpp
- skills/vai-custom-op-implementation/tutorial/topk/0_untiled/custom_op_topk/tiling.py
- skills/vai-custom-op-implementation/tutorial/topk/0_untiled/custom_op_topk/topk.yaml
- skills/vai-custom-op-implementation/tutorial/topk/0_untiled/run.py
- skills/vai-custom-op-implementation/tutorial/topk/0_untiled/topk.onnx
- skills/vai-custom-op-implementation/tutorial/topk/0_untiled/topk.onnxtxt
- skills/vai-custom-op-implementation/tutorial/topk/0_untiled/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/topk/1_tiled/custom_op_topk/kernel.cpp
- skills/vai-custom-op-implementation/tutorial/topk/1_tiled/custom_op_topk/tiling.py
- skills/vai-custom-op-implementation/tutorial/topk/1_tiled/custom_op_topk/topk.yaml
- skills/vai-custom-op-implementation/tutorial/topk/1_tiled/run.py
- skills/vai-custom-op-implementation/tutorial/topk/1_tiled/topk.onnx
- skills/vai-custom-op-implementation/tutorial/topk/1_tiled/topk.onnxtxt
- skills/vai-custom-op-implementation/tutorial/topk/1_tiled/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/topk/README.md
- skills/vai-custom-op-implementation/tutorial/topk_indices/0_untiled/run.py
- skills/vai-custom-op-implementation/tutorial/topk_indices/0_untiled/topk_indices.onnx
- skills/vai-custom-op-implementation/tutorial/topk_indices/0_untiled/topk_indices.onnxtxt
- skills/vai-custom-op-implementation/tutorial/topk_indices/0_untiled/topk_indices/config.yaml
- skills/vai-custom-op-implementation/tutorial/topk_indices/0_untiled/topk_indices/kernel.cpp
- skills/vai-custom-op-implementation/tutorial/topk_indices/0_untiled/topk_indices/tiling.py
- skills/vai-custom-op-implementation/tutorial/topk_indices/0_untiled/vitisai_config.json
- skills/vai-custom-op-implementation/tutorial/topk_indices/README.md
Every link opens the file at its source, pinned to the revision this page describes.