zigzag-dse 3.7.2__tar.gz → 3.7.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {zigzag_dse-3.7.2/zigzag_dse.egg-info → zigzag_dse-3.7.4}/PKG-INFO +1 -1
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/pyproject.toml +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_origin/test_ascend_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_origin/test_edge_tpu_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_origin/test_meta_prototype_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_origin/test_tesla_npu_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_origin/test_tpu_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_exploit_data_locality/test_ascend_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_exploit_data_locality/test_edge_tpu_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_exploit_data_locality/test_meta_prototype_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_exploit_data_locality/test_tesla_npu_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_exploit_data_locality/test_tpu_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_mix_spatial_mapping/test_ascend_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_mix_spatial_mapping/test_edge_tpu_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_mix_spatial_mapping/test_meta_prototype_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_mix_spatial_mapping/test_tesla_npu_like.py +2 -2
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_mix_spatial_mapping/test_tpu_like.py +2 -2
- zigzag_dse-3.7.4/zigzag/__init__.py +1 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cost_model/cost_model.py +29 -16
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/mapping/data_movement.py +11 -8
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/mapping/mapping.py +2 -1
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/visualization/results/plot_cme.py +4 -3
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4/zigzag_dse.egg-info}/PKG-INFO +1 -1
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag_dse.egg-info/top_level.txt +1 -0
- zigzag_dse-3.7.2/zigzag/__init__.py +0 -1
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/LICENSE +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/MANIFEST.in +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/README.md +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/setup.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_imc/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_imc/test_aimc.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_imc/test_dimc.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_exploit_data_locality/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_mix_spatial_mapping/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/__main__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/api.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/README.md +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/__pycache__/cacti_parser.cpython-311.opt-typeguard421.pyc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/__pycache__/cacti_parser.cpython-311.pyc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/2DDRAM_Samsung2GbDDR2.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/2DDRAM_micron1Gb.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/3DDRAM_Samsung3D8Gb_extened.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/README +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/TSV.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/TSV.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/Ucache.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/Ucache.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/arbiter.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/arbiter.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/area.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/area.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/bank.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/bank.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/basic_circuit.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/basic_circuit.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/cache.cfg_temp +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/cache_old.cfg.out +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/cacti +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/cacti.i +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/cacti.mk +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/cacti_config_creator.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/cacti_interface.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/cacti_interface.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/cacti_top.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/component.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/component.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/const.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/contention.dat +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/crossbar.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/crossbar.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/ddr3.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/decoder.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/decoder.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/dram.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/example_mem_pool.yaml +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/extio.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/extio.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/extio_technology.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/extio_technology.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/htree2.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/htree2.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/io.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/io.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/lpddr.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/main.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/makefile +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/mat.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/mat.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/memcad.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/memcad.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/memcad_parameters.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/memcad_parameters.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/memorybus.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/memorybus.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/nuca.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/nuca.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/TSV.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/Ucache.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/arbiter.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/area.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/bank.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/basic_circuit.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/cacti +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/cacti_interface.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/component.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/crossbar.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/decoder.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/extio.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/extio_technology.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/htree2.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/io.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/main.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/mat.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/memcad.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/memcad_parameters.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/memorybus.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/nuca.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/parameter.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/powergating.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/router.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/subarray.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/technology.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/uca.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/obj_dbg/wire.o +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/parameter.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/parameter.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/powergating.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/powergating.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/regression.test +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/router.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/router.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/sample_config_files/ddr3_cache.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/sample_config_files/diff_ddr3_cache.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/sample_config_files/lpddr3_cache.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/sample_config_files/wideio_cache.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/self_gen/cache.cfg.out +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/subarray.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/subarray.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/tech_params/16nm.dat +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/tech_params/180nm-old.dat +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/tech_params/180nm.dat +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/tech_params/22nm.dat +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/tech_params/32nm.dat +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/tech_params/45nm.dat +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/tech_params/65nm-old.dat +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/tech_params/65nm.dat +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/tech_params/90nm-old.dat +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/tech_params/90nm.dat +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/technology.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/uca.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/uca.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/version_cacti.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/wire.cc +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/wire.h +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_parser.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/self_gen/cache.cfg +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cost_model/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cost_model/cost_model_imc.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cost_model/port_activity.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/datatypes.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/hardware/architecture/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/hardware/architecture/accelerator.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/hardware/architecture/get_cacti_cost.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/hardware/architecture/imc_array.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/hardware/architecture/imc_unit.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/hardware/architecture/memory_hierarchy.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/hardware/architecture/memory_instance.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/hardware/architecture/memory_level.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/hardware/architecture/memory_port.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/hardware/architecture/operational_array.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/hardware/architecture/operational_unit.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/inputs/workload/alexnet.onnx +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/inputs/workload/mobilenetv2.onnx +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/inputs/workload/resnet18.onnx +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/mapping/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/mapping/mapping_assist_funcs.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/mapping/spatial_mapping.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/mapping/spatial_mapping_internal.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/mapping/temporal_mapping.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/opt/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/opt/loma/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/opt/loma/engine.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/opt/loma/loop.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/opt/loma/memory_allocator.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/opt/loma/multipermute.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/opt/salsa/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/opt/salsa/engine.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/opt/salsa/state.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/accelerator_factory.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/accelerator_validator.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/arguments.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/mapping_factory.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/mapping_validator.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/onnx/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/onnx/conv_parser.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/onnx/default_node_parser.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/onnx/gemm_parser.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/onnx/matmul_parser.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/onnx/onnx_model_parser.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/onnx/onnx_operator_parser.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/onnx/utils.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/upgraded_validator.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/workload_factory.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/parser/workload_validator.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/py.typed +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/evaluation/cost_model_evaluation.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/exploit_data_locality_stages.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/main.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/mapping/salsa.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/mapping/spatial_mapping_conversion.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/mapping/spatial_mapping_generation.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/mapping/temporal_mapping_generator_stage.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/parser/accelerator_parser.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/parser/onnx_model_parser.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/parser/workload_parser.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/results/plot_temporal_mapping.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/results/reduce_stages.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/results/save.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/results/visualization.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/run_opt_stages.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/stage.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/workload_iterator.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/stages/workload_parser.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/utils.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/visualization/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/visualization/graph/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/visualization/graph/memory_hierarchy.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/visualization/graph/workload.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/visualization/results/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/visualization/results/print_mapping.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/workload/__init__.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/workload/dnn_workload.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/workload/dummy_node.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/workload/layer_attribute.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/workload/layer_attributes.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/workload/layer_node.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/workload/layer_node_abc.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/workload/onnx_workload.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/workload/workload_abc.py +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag_dse.egg-info/SOURCES.txt +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag_dse.egg-info/dependency_links.txt +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag_dse.egg-info/entry_points.txt +0 -0
- {zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag_dse.egg-info/requires.txt +0 -0
|
@@ -14,7 +14,7 @@ namespaces = true # true by default
|
|
|
14
14
|
|
|
15
15
|
[project]
|
|
16
16
|
name = "zigzag-dse"
|
|
17
|
-
version = "3.7.
|
|
17
|
+
version = "3.7.4"
|
|
18
18
|
description = "ZigZag - Deep Learning Hardware Design Space Exploration"
|
|
19
19
|
readme = "README.md"
|
|
20
20
|
authors = [{ name = "Arne Symons", email = "arne.symons@kuleuven.be" }, { name = "Linyan Mei", email = "linyan.mei@kuleuven.be" }]
|
|
@@ -50,7 +50,7 @@ Homepage = "https://github.com/KULeuven-MICAS/zigzag"
|
|
|
50
50
|
realpython = "zigzag.__main__:main"
|
|
51
51
|
|
|
52
52
|
[tool.bumpver]
|
|
53
|
-
current_version = "3.7.
|
|
53
|
+
current_version = "3.7.4"
|
|
54
54
|
version_pattern = "MAJOR.MINOR.PATCH"
|
|
55
55
|
commit_message = "bump version {old_version} -> {new_version}"
|
|
56
56
|
commit = true
|
|
@@ -9,8 +9,8 @@ workloads = (
|
|
|
9
9
|
|
|
10
10
|
# Expected energy and latency for each workload defined above
|
|
11
11
|
ens_lats = {
|
|
12
|
-
"zigzag/inputs/workload/resnet18.onnx": (1940385435.76,
|
|
13
|
-
"zigzag/inputs/workload/resnet18.yaml": (2449578483.76,
|
|
12
|
+
"zigzag/inputs/workload/resnet18.onnx": (1940385435.76, 3032311.0),
|
|
13
|
+
"zigzag/inputs/workload/resnet18.yaml": (2449578483.76, 3980000.0),
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
|
|
@@ -9,8 +9,8 @@ workloads = (
|
|
|
9
9
|
|
|
10
10
|
# Expected energy and latency for each workload defined above
|
|
11
11
|
ens_lats = {
|
|
12
|
-
"zigzag/inputs/workload/resnet18.onnx": (
|
|
13
|
-
"zigzag/inputs/workload/resnet18.yaml": (2413348670.67,
|
|
12
|
+
"zigzag/inputs/workload/resnet18.onnx": (1903229377.55, 2887804.5),
|
|
13
|
+
"zigzag/inputs/workload/resnet18.yaml": (2413348670.67, 3741293.0),
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
|
|
@@ -9,8 +9,8 @@ workloads = (
|
|
|
9
9
|
|
|
10
10
|
# Expected energy and latency for each workload defined above
|
|
11
11
|
ens_lats = {
|
|
12
|
-
"zigzag/inputs/workload/resnet18.onnx": (
|
|
13
|
-
"zigzag/inputs/workload/resnet18.yaml": (
|
|
12
|
+
"zigzag/inputs/workload/resnet18.onnx": (1863284164.16, 2700449.66),
|
|
13
|
+
"zigzag/inputs/workload/resnet18.yaml": (2373454257.72, 3316037.0),
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
|
|
@@ -9,8 +9,8 @@ workloads = (
|
|
|
9
9
|
|
|
10
10
|
# Expected energy and latency for each workload defined above
|
|
11
11
|
ens_lats = {
|
|
12
|
-
"zigzag/inputs/workload/resnet18.onnx": (
|
|
13
|
-
"zigzag/inputs/workload/resnet18.yaml": (
|
|
12
|
+
"zigzag/inputs/workload/resnet18.onnx": (1859923747.33, 2719709.75),
|
|
13
|
+
"zigzag/inputs/workload/resnet18.yaml": (2363901208.14, 3313105.91),
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
|
|
@@ -9,8 +9,8 @@ workloads = (
|
|
|
9
9
|
|
|
10
10
|
# Expected energy and latency for each workload defined above
|
|
11
11
|
ens_lats = {
|
|
12
|
-
"zigzag/inputs/workload/resnet18.onnx": (1871436380.66,
|
|
13
|
-
"zigzag/inputs/workload/resnet18.yaml": (
|
|
12
|
+
"zigzag/inputs/workload/resnet18.onnx": (1871436380.66, 3703960.5),
|
|
13
|
+
"zigzag/inputs/workload/resnet18.yaml": (2615172831.38, 5584991.0),
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
|
{zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_exploit_data_locality/test_ascend_like.py
RENAMED
|
@@ -11,8 +11,8 @@ workloads = (
|
|
|
11
11
|
ens_lats = {
|
|
12
12
|
"zigzag/inputs/workload/alexnet.onnx": (5649553476, 8605524),
|
|
13
13
|
"zigzag/inputs/workload/mobilenetv2.onnx": (1880536921, 6472147),
|
|
14
|
-
"zigzag/inputs/workload/resnet18.onnx": (1813915548.
|
|
15
|
-
"zigzag/inputs/workload/resnet18.yaml": (2338798423.04,
|
|
14
|
+
"zigzag/inputs/workload/resnet18.onnx": (1813915548.47, 3017312.0),
|
|
15
|
+
"zigzag/inputs/workload/resnet18.yaml": (2338798423.04, 3961239.0),
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
|
|
@@ -11,8 +11,8 @@ workloads = (
|
|
|
11
11
|
ens_lats = {
|
|
12
12
|
"zigzag/inputs/workload/alexnet.onnx": (5568602396.684999, 8134431),
|
|
13
13
|
"zigzag/inputs/workload/mobilenetv2.onnx": (735250234.1699998, 2417321.0),
|
|
14
|
-
"zigzag/inputs/workload/resnet18.onnx": (1783892066.11,
|
|
15
|
-
"zigzag/inputs/workload/resnet18.yaml": (2115121959.
|
|
14
|
+
"zigzag/inputs/workload/resnet18.onnx": (1783892066.11, 2957953.5),
|
|
15
|
+
"zigzag/inputs/workload/resnet18.yaml": (2115121959.87, 3706985.0),
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
|
|
@@ -11,8 +11,8 @@ workloads = (
|
|
|
11
11
|
ens_lats = {
|
|
12
12
|
"zigzag/inputs/workload/alexnet.onnx": (5679636177, 8279493),
|
|
13
13
|
"zigzag/inputs/workload/mobilenetv2.onnx": (901087682, 2596085),
|
|
14
|
-
"zigzag/inputs/workload/resnet18.onnx": (
|
|
15
|
-
"zigzag/inputs/workload/resnet18.yaml": (
|
|
14
|
+
"zigzag/inputs/workload/resnet18.onnx": (1710966136.48, 2689737.0),
|
|
15
|
+
"zigzag/inputs/workload/resnet18.yaml": (2204158604.12, 3295822.0),
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
|
|
@@ -11,8 +11,8 @@ workloads = (
|
|
|
11
11
|
ens_lats = {
|
|
12
12
|
"zigzag/inputs/workload/alexnet.onnx": (6039993369, 8373281),
|
|
13
13
|
"zigzag/inputs/workload/mobilenetv2.onnx": (930699349, 1955657),
|
|
14
|
-
"zigzag/inputs/workload/resnet18.onnx": (
|
|
15
|
-
"zigzag/inputs/workload/resnet18.yaml": (
|
|
14
|
+
"zigzag/inputs/workload/resnet18.onnx": (1725111410.78, 2709223.75),
|
|
15
|
+
"zigzag/inputs/workload/resnet18.yaml": (2213422347.76, 3296500.58),
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
|
{zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_exploit_data_locality/test_tpu_like.py
RENAMED
|
@@ -11,8 +11,8 @@ workloads = (
|
|
|
11
11
|
ens_lats = {
|
|
12
12
|
"zigzag/inputs/workload/alexnet.onnx": (5475639039, 8963572),
|
|
13
13
|
"zigzag/inputs/workload/mobilenetv2.onnx": (952681462, 21868059),
|
|
14
|
-
"zigzag/inputs/workload/resnet18.onnx": (1735241704.
|
|
15
|
-
"zigzag/inputs/workload/resnet18.yaml": (
|
|
14
|
+
"zigzag/inputs/workload/resnet18.onnx": (1735241704.22, 3762552.5),
|
|
15
|
+
"zigzag/inputs/workload/resnet18.yaml": (2302362179.97, 5548138.0),
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
|
{zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_mix_spatial_mapping/test_ascend_like.py
RENAMED
|
@@ -13,8 +13,8 @@ workloads = (
|
|
|
13
13
|
ens_lats = {
|
|
14
14
|
"zigzag/inputs/workload/alexnet.onnx": (5664863934, 8479644),
|
|
15
15
|
"zigzag/inputs/workload/mobilenetv2.onnx": (920740293, 3814440),
|
|
16
|
-
"zigzag/inputs/workload/resnet18.onnx": (1811468387.52,
|
|
17
|
-
"zigzag/inputs/workload/resnet18.yaml": (2349013378.88,
|
|
16
|
+
"zigzag/inputs/workload/resnet18.onnx": (1811468387.52, 3119977.33),
|
|
17
|
+
"zigzag/inputs/workload/resnet18.yaml": (2349013378.88, 3718548.66),
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
|
{zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_mix_spatial_mapping/test_edge_tpu_like.py
RENAMED
|
@@ -13,8 +13,8 @@ workloads = (
|
|
|
13
13
|
ens_lats = {
|
|
14
14
|
"zigzag/inputs/workload/alexnet.onnx": (6159980160, 8337351),
|
|
15
15
|
"zigzag/inputs/workload/mobilenetv2.onnx": (742114179, 2421959),
|
|
16
|
-
"zigzag/inputs/workload/resnet18.onnx": (
|
|
17
|
-
"zigzag/inputs/workload/resnet18.yaml": (2029477205,
|
|
16
|
+
"zigzag/inputs/workload/resnet18.onnx": (1735517943.87, 3834226.0),
|
|
17
|
+
"zigzag/inputs/workload/resnet18.yaml": (2029477205.31, 4586293.0),
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
|
|
@@ -13,8 +13,8 @@ workloads = (
|
|
|
13
13
|
ens_lats = {
|
|
14
14
|
"zigzag/inputs/workload/alexnet.onnx": (5681909132.480001, 8279495.0),
|
|
15
15
|
"zigzag/inputs/workload/mobilenetv2.onnx": (909647916.68, 2602479.0),
|
|
16
|
-
"zigzag/inputs/workload/resnet18.onnx": (
|
|
17
|
-
"zigzag/inputs/workload/resnet18.yaml": (
|
|
16
|
+
"zigzag/inputs/workload/resnet18.onnx": (1746642408.16, 2688913.66),
|
|
17
|
+
"zigzag/inputs/workload/resnet18.yaml": (2249214190.04, 3278925.33),
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
|
|
@@ -13,8 +13,8 @@ workloads = (
|
|
|
13
13
|
ens_lats = {
|
|
14
14
|
"zigzag/inputs/workload/alexnet.onnx": (6006136982.778, 8290892.0),
|
|
15
15
|
"zigzag/inputs/workload/mobilenetv2.onnx": (947736166.5380002, 1857838.0),
|
|
16
|
-
"zigzag/inputs/workload/resnet18.onnx": (
|
|
17
|
-
"zigzag/inputs/workload/resnet18.yaml": (
|
|
16
|
+
"zigzag/inputs/workload/resnet18.onnx": (1599110638.5, 2318166.5),
|
|
17
|
+
"zigzag/inputs/workload/resnet18.yaml": (2084306723.24, 2889873.0),
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
|
{zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_mix_spatial_mapping/test_tpu_like.py
RENAMED
|
@@ -13,8 +13,8 @@ workloads = (
|
|
|
13
13
|
ens_lats = {
|
|
14
14
|
"zigzag/inputs/workload/alexnet.onnx": (5589583403, 8671208),
|
|
15
15
|
"zigzag/inputs/workload/mobilenetv2.onnx": (932571650, 7304307),
|
|
16
|
-
"zigzag/inputs/workload/resnet18.onnx": (1759424218.
|
|
17
|
-
"zigzag/inputs/workload/resnet18.yaml": (2191903732.78,
|
|
16
|
+
"zigzag/inputs/workload/resnet18.onnx": (1759424218.32, 4256300.0),
|
|
17
|
+
"zigzag/inputs/workload/resnet18.yaml": (2191903732.78, 4657608.0),
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "3.7.4"
|
|
@@ -10,10 +10,10 @@ import numpy as np
|
|
|
10
10
|
from zigzag.cost_model.port_activity import PortActivity, PortBeginOrEndActivity
|
|
11
11
|
from zigzag.datatypes import ArrayType, Constants, LayerOperand, MemoryOperand
|
|
12
12
|
from zigzag.hardware.architecture.accelerator import Accelerator
|
|
13
|
-
from zigzag.hardware.architecture.
|
|
13
|
+
from zigzag.hardware.architecture.memory_level import MemoryLevel
|
|
14
14
|
from zigzag.hardware.architecture.memory_port import MemoryPort
|
|
15
15
|
from zigzag.hardware.architecture.operational_array import OperationalArray
|
|
16
|
-
from zigzag.mapping.data_movement import AccessEnergy, DataDirection, MemoryAccesses
|
|
16
|
+
from zigzag.mapping.data_movement import AccessEnergy, DataDirection, FourWayDataMoving, MemoryAccesses
|
|
17
17
|
from zigzag.mapping.mapping import Mapping
|
|
18
18
|
from zigzag.mapping.spatial_mapping_internal import SpatialMappingInternal
|
|
19
19
|
from zigzag.mapping.temporal_mapping import TemporalMapping
|
|
@@ -1141,24 +1141,37 @@ class CostModelEvaluation(CostModelEvaluationABC):
|
|
|
1141
1141
|
self.mac_utilization1 = mac_utilization1
|
|
1142
1142
|
self.mac_utilization2 = mac_utilization2
|
|
1143
1143
|
|
|
1144
|
-
def get_total_inst_bandwidth(self,
|
|
1145
|
-
"""Given a cost model evaluation and a memory
|
|
1146
|
-
required throughout the execution of the layer that corresponds to this CME.
|
|
1147
|
-
|
|
1144
|
+
def get_total_inst_bandwidth(self, memory_level: MemoryLevel) -> FourWayDataMoving[int]:
|
|
1145
|
+
"""Given a cost model evaluation and a memory level, compute the memory's total instantaneous bandwidth
|
|
1146
|
+
required throughout the execution of the layer that corresponds to this CME. Raises an assertion error
|
|
1147
|
+
if the given memory level is not included in this CME's memory hierarchy.
|
|
1148
1148
|
NOTE: this function is used in Stream
|
|
1149
1149
|
"""
|
|
1150
|
-
# Check
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
total_inst_bw = MemoryAccesses(0, 0, 0, 0)
|
|
1158
|
-
for mem_op in offchip_mem_operands:
|
|
1150
|
+
# Check that the given MemoryInstance is part of the memory hierarchy of this CME
|
|
1151
|
+
assert (
|
|
1152
|
+
memory_level in self.mem_level_list
|
|
1153
|
+
), f"Memory level {memory_level} is not part of the memory hierarchy of this cost model evaluation."
|
|
1154
|
+
# Obtain the required instantaneous bandwidth to/from the memory for its operands during computation
|
|
1155
|
+
total_inst_bw = FourWayDataMoving(0, 0, 0, 0)
|
|
1156
|
+
for mem_op in memory_level.operands:
|
|
1159
1157
|
layer_op = self.layer.memory_operand_links.mem_to_layer_op(mem_op)
|
|
1160
|
-
|
|
1158
|
+
req_bw_4way = self.mapping.unit_mem_data_movement[layer_op][-1].req_mem_bw_inst
|
|
1159
|
+
inst_bw_4way = FourWayDataMoving(
|
|
1160
|
+
req_bw_4way.rd_out_to_low,
|
|
1161
|
+
req_bw_4way.wr_in_by_low,
|
|
1162
|
+
req_bw_4way.rd_out_to_high,
|
|
1163
|
+
req_bw_4way.wr_in_by_high,
|
|
1164
|
+
)
|
|
1161
1165
|
total_inst_bw += inst_bw_4way
|
|
1166
|
+
# Add the potential borrowed bandwidth by the loading phases (onloading and offloading)
|
|
1167
|
+
# As this bandwidth is already aggregated across all directions for a single port,
|
|
1168
|
+
# we put it in the WR_IN_BY_HIGH direction if the output memory operand is present in the memory level.
|
|
1169
|
+
# Otherwise, we put it in the RD_OUT_TO_LOW direction.
|
|
1170
|
+
for port in memory_level.port_list:
|
|
1171
|
+
if Constants.OUTPUT_MEM_OP in memory_level.operands:
|
|
1172
|
+
total_inst_bw.wr_in_by_high += self.total_loading_bw_during_computation[port]
|
|
1173
|
+
else:
|
|
1174
|
+
total_inst_bw.rd_out_to_low += self.total_loading_bw_during_computation[port]
|
|
1162
1175
|
return total_inst_bw
|
|
1163
1176
|
|
|
1164
1177
|
def __str__(self):
|
|
@@ -84,6 +84,9 @@ class FourWayDataMoving(Generic[T], metaclass=ABCMeta):
|
|
|
84
84
|
self.wr_in_by_high * other,
|
|
85
85
|
)
|
|
86
86
|
|
|
87
|
+
def __add__(self, other: "FourWayDataMoving[T]"):
|
|
88
|
+
return self._add_with_type(other, type(self))
|
|
89
|
+
|
|
87
90
|
def __repr__(self):
|
|
88
91
|
return (
|
|
89
92
|
f"4waydatamoving (rd ^: {self.rd_out_to_high}, wr v: {self.wr_in_by_high}, "
|
|
@@ -124,14 +127,14 @@ class DataMovePattern:
|
|
|
124
127
|
|
|
125
128
|
def __init__(self, operand: LayerOperand, mem_level: int):
|
|
126
129
|
self.name = operand.name + str(mem_level)
|
|
127
|
-
self.data_elem_move_count = MemoryAccesses(0, 0, 0, 0)
|
|
128
|
-
self.data_precision = MemoryAccesses(0, 0, 0, 0)
|
|
129
|
-
self.req_mem_bw_aver = MemoryAccesses(0, 0, 0, 0)
|
|
130
|
-
self.req_mem_bw_inst = MemoryAccesses(0, 0, 0, 0)
|
|
131
|
-
self.data_trans_period = MemoryAccesses(0, 0, 0, 0)
|
|
132
|
-
self.data_trans_period_count = MemoryAccesses(0, 0, 0, 0)
|
|
133
|
-
self.data_trans_amount_per_period = MemoryAccesses(0, 0, 0, 0)
|
|
134
|
-
self.inst_data_trans_window = MemoryAccesses(0, 0, 0, 0)
|
|
130
|
+
self.data_elem_move_count = MemoryAccesses(0, 0, 0, 0) # elements
|
|
131
|
+
self.data_precision = MemoryAccesses(0, 0, 0, 0) # bits/element
|
|
132
|
+
self.req_mem_bw_aver = MemoryAccesses(0, 0, 0, 0) # bits/cycle
|
|
133
|
+
self.req_mem_bw_inst = MemoryAccesses(0, 0, 0, 0) # bits/cycle
|
|
134
|
+
self.data_trans_period = MemoryAccesses(0, 0, 0, 0) # cycles
|
|
135
|
+
self.data_trans_period_count = MemoryAccesses(0, 0, 0, 0) # periods
|
|
136
|
+
self.data_trans_amount_per_period = MemoryAccesses(0, 0, 0, 0) # elements
|
|
137
|
+
self.inst_data_trans_window = MemoryAccesses(0, 0, 0, 0) # cycles
|
|
135
138
|
|
|
136
139
|
def set_data_elem_move_count(
|
|
137
140
|
self,
|
|
@@ -481,9 +481,10 @@ class Mapping:
|
|
|
481
481
|
# e.g. for the DTL of Global Buffer (Weight) talking to spatially unrolled Weight Reg File,
|
|
482
482
|
# each Weight Reg File's required write BW is indicated by "_L",
|
|
483
483
|
# while Global Buffer (Weight)'s required read BW is indicate by "_H"
|
|
484
|
+
# The unit of these variables is bits per cycle
|
|
484
485
|
req_mem_bw_low_raw = {
|
|
485
486
|
op: [
|
|
486
|
-
data_each_level_unrolled[op][lv] / cycle_each_level[op][lv]
|
|
487
|
+
data_each_level_unrolled[op][lv] * self.data_precision_dict[op][lv] / cycle_each_level[op][lv]
|
|
487
488
|
for lv in range(self.spatial_mapping.arch_level[op])
|
|
488
489
|
]
|
|
489
490
|
for op in self.operand_list
|
|
@@ -31,10 +31,11 @@ GROUP_SPACING = 1
|
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
def shorten_onnx_layer_name(name: str):
|
|
34
|
-
"""Names generated in the ONNX format are quite long (e.g. `layer1/layer1.0/conv2/Conv). This function extracts
|
|
35
|
-
the most informative part"""
|
|
34
|
+
"""Names generated in the ONNX format are quite long (e.g. `layer1/layer1.0/conv2/Conv`). This function extracts
|
|
35
|
+
the most informative part (`conv2/Conv` in this case)"""
|
|
36
36
|
try:
|
|
37
|
-
|
|
37
|
+
last_two = name.split("/")[-2:]
|
|
38
|
+
return "/".join(last_two)
|
|
38
39
|
except IndexError:
|
|
39
40
|
return name
|
|
40
41
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "3.7.2"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/tests/main/test_with_exploit_data_locality/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{zigzag_dse-3.7.2 → zigzag_dse-3.7.4}/zigzag/cacti/cacti_master/3DDRAM_Samsung3D8Gb_extened.cfg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|