gitextract_nqdxn4c0/ ├── .dockerignore ├── .gitignore ├── .gitmodules ├── ChangeLog ├── Dockerfile ├── LICENSE ├── README.md ├── autosa_config/ │ ├── autosa_config.json │ ├── hw_info.json │ ├── hw_info_libs/ │ │ ├── hw_info.json.ku3 │ │ ├── hw_info.json.u200 │ │ └── hw_info.json.u250 │ ├── module_group.json │ ├── optimizer_settings.json │ └── optimizer_settings_libs/ │ ├── gemm3_fp32.json │ ├── gemm3_int16.json │ ├── gemm3_int16_32.json │ ├── gemm3_int8.json │ ├── gemm3_int8_64.json │ ├── gemm4_fp32.json │ ├── mm_small.json │ ├── mttkrp_fp32.json │ ├── ttm_fp32.json │ └── ttmc_fp32.json ├── autosa_scripts/ │ ├── autosa.py │ ├── codegen.py │ ├── hls_scripts/ │ │ ├── hls_script.tcl │ │ └── hls_script_synth.tcl │ ├── intel_opencl_scripts/ │ │ ├── Makefile │ │ ├── common/ │ │ │ ├── inc/ │ │ │ │ └── AOCLUtils/ │ │ │ │ ├── aocl_utils.h │ │ │ │ ├── opencl.h │ │ │ │ ├── options.h │ │ │ │ └── scoped_ptrs.h │ │ │ ├── readme.css │ │ │ └── src/ │ │ │ └── AOCLUtils/ │ │ │ ├── opencl.cpp │ │ │ └── options.cpp │ │ └── compile_design.sh │ ├── latency_model.py │ ├── module_group.py │ ├── odyssey/ │ │ ├── RL_utils.py │ │ ├── analyze.py │ │ ├── clean_up.sh │ │ ├── cst/ │ │ │ ├── hw_cst.json │ │ │ ├── single_test.json │ │ │ ├── u250.json │ │ │ └── vu9p.json │ │ ├── design.py │ │ ├── designs/ │ │ │ └── kernel3.json │ │ ├── designs_lib/ │ │ │ ├── cnn/ │ │ │ │ ├── kernel0_0.json │ │ │ │ ├── kernel0_1.json │ │ │ │ ├── kernel0_2.json │ │ │ │ ├── kernel1_0.json │ │ │ │ ├── kernel1_1.json │ │ │ │ ├── kernel1_2.json │ │ │ │ ├── kernel2_0.json │ │ │ │ ├── kernel2_1.json │ │ │ │ ├── kernel2_2.json │ │ │ │ ├── kernel3_0.json │ │ │ │ ├── kernel3_1.json │ │ │ │ ├── kernel3_2.json │ │ │ │ ├── kernel4_0.json │ │ │ │ ├── kernel4_1.json │ │ │ │ ├── kernel4_2.json │ │ │ │ ├── kernel5_0.json │ │ │ │ ├── kernel5_1.json │ │ │ │ ├── kernel5_2.json │ │ │ │ ├── kernel6_0.json │ │ │ │ ├── kernel6_1.json │ │ │ │ ├── kernel6_2.json │ │ │ │ ├── kernel7_0.json │ │ │ │ ├── kernel7_1.json │ │ │ │ ├── kernel7_2.json │ │ │ │ ├── kernel8_0.json │ │ │ │ ├── kernel8_1.json │ │ │ │ ├── kernel8_2.json │ │ │ │ ├── kernel9_0.json │ │ │ │ ├── kernel9_1.json │ │ │ │ └── kernel9_2.json │ │ │ └── gemm/ │ │ │ ├── kernel0_0.json │ │ │ ├── kernel0_1.json │ │ │ ├── kernel0_2.json │ │ │ ├── kernel1_0.json │ │ │ ├── kernel1_1.json │ │ │ ├── kernel1_2.json │ │ │ ├── kernel2_0.json │ │ │ ├── kernel2_1.json │ │ │ ├── kernel2_2.json │ │ │ ├── kernel3_0.json │ │ │ ├── kernel3_1.json │ │ │ ├── kernel3_2.json │ │ │ ├── kernel4_0.json │ │ │ ├── kernel4_1.json │ │ │ ├── kernel4_2.json │ │ │ ├── kernel5_0.json │ │ │ ├── kernel5_1.json │ │ │ └── kernel5_2.json │ │ ├── explorer.py │ │ ├── main.py │ │ ├── requirements.txt │ │ ├── scripts/ │ │ │ ├── compute_network_info.py │ │ │ ├── grid_search_xgb_params.py │ │ │ ├── img2col.py │ │ │ ├── run_arch1.sh │ │ │ ├── run_arch1_free.sh │ │ │ ├── run_arch1_ml_cmp.sh │ │ │ ├── run_arch2.sh │ │ │ ├── run_arch3.sh │ │ │ ├── run_arch4.sh │ │ │ ├── run_dataflow_cmp_cnn.sh │ │ │ ├── run_dataflow_cmp_mm.sh │ │ │ ├── run_dataflow_cmp_mm_energy.sh │ │ │ ├── run_img2col_single.sh │ │ │ ├── run_method_cmp.sh │ │ │ ├── run_metric_cmp.sh │ │ │ ├── run_mutation_cmp.sh │ │ │ └── split_cnn_layers.py │ │ ├── search_task.py │ │ ├── solver.py │ │ ├── tuners.py │ │ ├── unit_test.py │ │ ├── utils.py │ │ └── workload/ │ │ ├── conv.json │ │ ├── mm.json │ │ ├── mm64.json │ │ ├── mobilenetv2.json │ │ ├── mobilenetv2_1.json │ │ ├── mobilenetv2_10.json │ │ ├── mobilenetv2_11.json │ │ ├── mobilenetv2_12.json │ │ ├── mobilenetv2_13.json │ │ ├── mobilenetv2_14.json │ │ ├── mobilenetv2_15.json │ │ ├── mobilenetv2_16.json │ │ ├── mobilenetv2_17.json │ │ ├── mobilenetv2_18.json │ │ ├── mobilenetv2_19.json │ │ ├── mobilenetv2_2.json │ │ ├── mobilenetv2_20.json │ │ ├── mobilenetv2_21.json │ │ ├── mobilenetv2_22.json │ │ ├── mobilenetv2_23.json │ │ ├── mobilenetv2_24.json │ │ ├── mobilenetv2_25.json │ │ ├── mobilenetv2_26.json │ │ ├── mobilenetv2_27.json │ │ ├── mobilenetv2_28.json │ │ ├── mobilenetv2_29.json │ │ ├── mobilenetv2_3.json │ │ ├── mobilenetv2_30.json │ │ ├── mobilenetv2_31.json │ │ ├── mobilenetv2_32.json │ │ ├── mobilenetv2_33.json │ │ ├── mobilenetv2_34.json │ │ ├── mobilenetv2_35.json │ │ ├── mobilenetv2_36.json │ │ ├── mobilenetv2_4.json │ │ ├── mobilenetv2_47.json │ │ ├── mobilenetv2_5.json │ │ ├── mobilenetv2_6.json │ │ ├── mobilenetv2_7.json │ │ ├── mobilenetv2_8.json │ │ ├── mobilenetv2_9.json │ │ ├── mobilenetv2_complete.json │ │ ├── mobilenetv2_conv3_1_0.json │ │ ├── mobilenetv2_first.json │ │ ├── mobilenetv2_first1.json │ │ ├── mobilenetv2_first2.json │ │ ├── mobilenetv2_half.json │ │ ├── mobilenetv2_img2col.json │ │ ├── mobilenetv2_no_first.json │ │ ├── mobilenetv2_original.json │ │ ├── mobilenetv2_test.json │ │ ├── mobilenetv2_test_single.json │ │ ├── resnet152.json │ │ ├── resnet50.json │ │ ├── resnet50_1.json │ │ ├── resnet50_10.json │ │ ├── resnet50_11.json │ │ ├── resnet50_12.json │ │ ├── resnet50_13.json │ │ ├── resnet50_14.json │ │ ├── resnet50_15.json │ │ ├── resnet50_16.json │ │ ├── resnet50_17.json │ │ ├── resnet50_18.json │ │ ├── resnet50_19.json │ │ ├── resnet50_2.json │ │ ├── resnet50_20.json │ │ ├── resnet50_21.json │ │ ├── resnet50_22.json │ │ ├── resnet50_23.json │ │ ├── resnet50_24.json │ │ ├── resnet50_25.json │ │ ├── resnet50_26.json │ │ ├── resnet50_27.json │ │ ├── resnet50_28.json │ │ ├── resnet50_29.json │ │ ├── resnet50_3.json │ │ ├── resnet50_30.json │ │ ├── resnet50_31.json │ │ ├── resnet50_32.json │ │ ├── resnet50_33.json │ │ ├── resnet50_34.json │ │ ├── resnet50_35.json │ │ ├── resnet50_36.json │ │ ├── resnet50_37.json │ │ ├── resnet50_38.json │ │ ├── resnet50_39.json │ │ ├── resnet50_4.json │ │ ├── resnet50_40.json │ │ ├── resnet50_41.json │ │ ├── resnet50_42.json │ │ ├── resnet50_43.json │ │ ├── resnet50_44.json │ │ ├── resnet50_45.json │ │ ├── resnet50_46.json │ │ ├── resnet50_47.json │ │ ├── resnet50_48.json │ │ ├── resnet50_49.json │ │ ├── resnet50_5.json │ │ ├── resnet50_6.json │ │ ├── resnet50_7.json │ │ ├── resnet50_8.json │ │ ├── resnet50_9.json │ │ ├── resnet50_batch4.json │ │ ├── resnet50_conv5_1.json │ │ ├── resnet50_img2col.json │ │ ├── resnet50_last.json │ │ ├── resnet50_last2.json │ │ ├── resnet50_original.json │ │ ├── vgg16-2-img2col.json │ │ ├── vgg16-3.json │ │ ├── vgg16-4.json │ │ ├── vgg16.json │ │ ├── vgg16_1.json │ │ ├── vgg16_10.json │ │ ├── vgg16_11.json │ │ ├── vgg16_12.json │ │ ├── vgg16_13.json │ │ ├── vgg16_2.json │ │ ├── vgg16_3.json │ │ ├── vgg16_4.json │ │ ├── vgg16_5.json │ │ ├── vgg16_6.json │ │ ├── vgg16_7.json │ │ ├── vgg16_8.json │ │ ├── vgg16_9.json │ │ └── vgg16_img2col.json │ ├── optimizer.py │ ├── optimizer_prune.py │ ├── pe_group.py │ ├── ppcg_changes/ │ │ ├── isl/ │ │ │ ├── ast_type.h │ │ │ ├── files.txt │ │ │ ├── isl_patch.sh │ │ │ ├── isl_schedule.c │ │ │ ├── isl_schedule_band.c │ │ │ ├── isl_schedule_band.h │ │ │ ├── isl_schedule_node.c │ │ │ ├── isl_schedule_tree.c │ │ │ ├── isl_schedule_tree.h │ │ │ ├── schedule.h │ │ │ ├── schedule_node.h │ │ │ └── vec.h │ │ └── ppcg/ │ │ └── files.txt │ ├── resource_model.py │ ├── tapa_scripts/ │ │ └── CMakeLists.txt │ ├── tuner/ │ │ ├── constraint.py │ │ ├── cst/ │ │ │ └── hw_cst.json │ │ ├── design.py │ │ ├── main.py │ │ ├── search_task.py │ │ ├── task/ │ │ │ ├── cnn.json │ │ │ ├── mm.json │ │ │ └── mm2.json │ │ ├── tuner.py │ │ ├── unit_test.py │ │ └── utils.py │ ├── tuning_scripts/ │ │ ├── cnn.sh │ │ ├── gemm.sh │ │ └── model_validate.sh │ └── vitis_scripts/ │ ├── Makefile │ └── connectivity.cfg ├── autosa_tests/ │ ├── cnn/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── connectivity.cfg │ │ ├── hls_script.tcl │ │ ├── kernel.c │ │ ├── kernel.h │ │ ├── param_names.json │ │ └── simd_info.json │ ├── dnn_ops/ │ │ ├── dc_simd_info.json │ │ ├── fc_simd_info.json │ │ ├── hls_script.tcl │ │ ├── kernel.c │ │ ├── kernel.h │ │ └── pc_simd_info.json │ ├── large/ │ │ ├── cnn/ │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── connectivity.cfg │ │ │ ├── hls_script.tcl │ │ │ ├── kernel.c │ │ │ ├── kernel.h │ │ │ ├── simd_info.json │ │ │ ├── step1-run-hls.tcl │ │ │ ├── step2-autobridge.py │ │ │ ├── step3-pack-xo.tcl │ │ │ └── step4-run-vitis.sh │ │ ├── mm/ │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── connectivity.cfg │ │ │ ├── hls_script.tcl │ │ │ ├── kernel.c │ │ │ ├── kernel.h │ │ │ ├── simd_info.json │ │ │ ├── step1-run-hls.tcl │ │ │ ├── step2-autobridge.py │ │ │ ├── step3-pack-xo.tcl │ │ │ └── step4-run-vitis.sh │ │ ├── mm_block_sparse/ │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── connectivity.cfg │ │ │ ├── hls_script.tcl │ │ │ ├── kernel.c │ │ │ ├── kernel.h │ │ │ └── simd_info.json │ │ ├── mm_int16/ │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── code.c │ │ │ ├── connectivity.cfg │ │ │ ├── hls_script.tcl │ │ │ ├── kernel.c │ │ │ ├── kernel.h │ │ │ ├── simd_info.json │ │ │ ├── step1-run-hls.tcl │ │ │ ├── step2-autobridge.py │ │ │ ├── step3-pack-xo.tcl │ │ │ ├── step4-run-vitis.sh │ │ │ └── unroll.py │ │ ├── mm_int8/ │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── code.c │ │ │ ├── connectivity.cfg │ │ │ ├── hls_script.tcl │ │ │ ├── kernel.c │ │ │ ├── kernel.h │ │ │ ├── kernel_kernel_opt.cpp │ │ │ ├── simd_info.json │ │ │ ├── step1-run-hls.tcl │ │ │ ├── step2-autobridge.py │ │ │ ├── step3-pack-xo.tcl │ │ │ ├── step4-run-vitis.sh │ │ │ └── unroll.py │ │ ├── mm_intel/ │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── kernel.c │ │ │ ├── kernel.h │ │ │ └── simd_info.json │ │ ├── mttkrp/ │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── connectivity.cfg │ │ │ ├── kernel.c │ │ │ ├── kernel.h │ │ │ ├── simd_info.json │ │ │ ├── step1-run-hls.tcl │ │ │ ├── step2-autobridge.py │ │ │ ├── step3-pack-xo.tcl │ │ │ └── step4-run-vitis.sh │ │ ├── ttm/ │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── connectivity.cfg │ │ │ ├── kernel.c │ │ │ ├── kernel.h │ │ │ └── simd_info.json │ │ └── ttmc/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── connectivity.cfg │ │ ├── kernel.c │ │ ├── kernel.h │ │ ├── simd_info.json │ │ ├── step1-run-hls.tcl │ │ ├── step2-autobridge.py │ │ ├── step3-pack-xo.tcl │ │ └── step4-run-vitis.sh │ ├── lu/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── add_batch.py │ │ ├── hls_script.tcl │ │ ├── kernel.c │ │ ├── kernel.h │ │ └── simd_info.json │ ├── mm/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── connectivity.cfg │ │ ├── hls_script.tcl │ │ ├── kernel.c │ │ ├── kernel.h │ │ ├── param_names.json │ │ └── simd_info.json │ ├── mm_block_sparse/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── connectivity.cfg │ │ ├── hls_script.tcl │ │ ├── kernel.c │ │ ├── kernel.h │ │ └── simd_info.json │ ├── mm_catapult/ │ │ ├── README.md │ │ ├── directives.tcl │ │ ├── kernel.c │ │ ├── kernel.h │ │ ├── kernel_kernel_hw.h │ │ └── simd_info.json │ ├── mm_getting_started/ │ │ ├── Makefile │ │ ├── connectivity.cfg │ │ ├── hls_script.tcl │ │ ├── kernel.c │ │ ├── kernel.h │ │ └── simd_info.json │ ├── mm_hbm/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── connectivity.cfg │ │ ├── hls_script.tcl │ │ ├── kernel.c │ │ ├── kernel.h │ │ └── simd_info.json │ ├── mm_hcl/ │ │ ├── README.md │ │ ├── hls_script.tcl │ │ ├── kernel.c │ │ ├── kernel.h │ │ └── simd_info.json │ ├── mm_hcl_intel/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── kernel.c │ │ ├── kernel.h │ │ ├── kernel2.c │ │ └── simd_info.json │ ├── mm_int16/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── connectivity.cfg │ │ ├── hls_script.tcl │ │ ├── kernel.c │ │ ├── kernel.h │ │ └── simd_info.json │ └── mm_intel/ │ ├── Makefile │ ├── README.md │ ├── kernel.c │ ├── kernel.h │ └── simd_info.json ├── clean.sh ├── docs/ │ ├── Makefile │ ├── conf.py │ ├── docker_image.rst │ ├── examples/ │ │ ├── cnn.rst │ │ ├── cnn_large.rst │ │ ├── dnn_ops.rst │ │ ├── index.rst │ │ ├── lu.rst │ │ ├── mm.rst │ │ ├── mm_block_sparse.rst │ │ ├── mm_hbm.rst │ │ ├── mm_int16.rst │ │ ├── mm_int16_large.rst │ │ ├── mm_int8_large.rst │ │ ├── mm_large.rst │ │ ├── mttkrp_large.rst │ │ └── ttmc_large.rst │ ├── index.rst │ ├── install_from_source.rst │ ├── installation.rst │ ├── make.bat │ └── tutorials/ │ ├── auto_bridge.rst │ ├── auto_tuning_exhaustive.rst │ ├── auto_tuning_genetic.rst │ ├── catapult_backend.rst │ ├── getting_started.rst │ ├── hcl_integrate.rst │ ├── host_serialize.rst │ ├── index.rst │ ├── intel_backend.rst │ ├── matrix_multiplication.rst │ ├── optimize_array.rst │ ├── structural_sparsity.rst │ └── theory_background.rst ├── install.sh ├── ltmain.sh ├── requirements.txt └── src/ ├── ChangeLog ├── LICENSE ├── Makefile.am ├── README ├── autogen.sh ├── autosa_catapult_hls_c.cpp ├── autosa_catapult_hls_c.h ├── autosa_codegen.cpp ├── autosa_codegen.h ├── autosa_comm.cpp ├── autosa_comm.h ├── autosa_common.cpp ├── autosa_common.h ├── autosa_cpu.cpp ├── autosa_cpu.h ├── autosa_intel_opencl.cpp ├── autosa_intel_opencl.h ├── autosa_print.cpp ├── autosa_print.h ├── autosa_schedule_tree.cpp ├── autosa_schedule_tree.h ├── autosa_t2s.cpp ├── autosa_tapa_cpp.cpp ├── autosa_tapa_cpp.h ├── autosa_trans.cpp ├── autosa_trans.h ├── autosa_tuning.cpp ├── autosa_tuning.h ├── autosa_utils.cpp ├── autosa_utils.h ├── autosa_xilinx_hls_c.cpp ├── autosa_xilinx_hls_c.h ├── configure.ac ├── cpu.c ├── cpu.h ├── examples/ │ └── chemv.c ├── get_submodules.sh ├── grouping.c ├── grouping.h ├── hybrid.c ├── hybrid.h ├── json.hpp ├── m4/ │ ├── ax_check_opencl.m4 │ ├── ax_check_openmp.m4 │ ├── ax_detect_git_head.m4 │ └── ax_submodule.m4 ├── main.cpp ├── ocl_utilities.c ├── ocl_utilities.h ├── opencl_test.sh.in ├── polybench_test.sh.in ├── ppcg.c ├── ppcg.h ├── ppcg_files/ │ ├── cuda.c │ ├── cuda.h │ ├── cuda_common.c │ ├── cuda_common.h │ ├── gpu.c │ ├── gpu.h │ ├── gpu_array_tile.c │ ├── gpu_array_tile.h │ ├── gpu_group.c │ ├── gpu_group.h │ ├── gpu_hybrid.c │ ├── gpu_hybrid.h │ ├── gpu_print.c │ ├── gpu_print.h │ ├── gpu_tree.c │ ├── gpu_tree.h │ ├── opencl.c │ └── opencl.h ├── ppcg_options.c ├── ppcg_options.h ├── print.c ├── print.h ├── schedule.c ├── schedule.h ├── tests/ │ ├── call.c │ ├── call2.c │ ├── call2_opencl_functions.cl │ ├── call3.c │ ├── call3_opencl_functions.cl │ ├── call4.c │ ├── call5.c │ ├── call_opencl_functions.cl │ ├── dead.c │ ├── iterator.c │ ├── live_out.c │ ├── local.c │ ├── loop.c │ ├── not_accessed.c │ ├── not_accessed_opencl_functions.cl │ ├── scalar.c │ ├── shared_sink.c │ ├── struct.c │ ├── struct2.c │ ├── struct3.c │ ├── struct4.c │ └── struct5.c ├── util.c ├── util.h └── version.c