zigzag-dse 3.2.1__tar.gz → 3.3.0__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.
Files changed (252) hide show
  1. zigzag_dse-3.3.0/MANIFEST.in +2 -0
  2. {zigzag_dse-3.2.1/zigzag_dse.egg-info → zigzag_dse-3.3.0}/PKG-INFO +2 -1
  3. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/pyproject.toml +3 -2
  4. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_imc/test_aimc.py +8 -4
  5. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_imc/test_dimc.py +8 -4
  6. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_origin/test_ascend_like.py +1 -1
  7. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_origin/test_edge_tpu_like.py +1 -1
  8. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_origin/test_meta_prototype_like.py +1 -1
  9. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_origin/test_tesla_npu_like.py +1 -1
  10. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_origin/test_tpu_like.py +1 -1
  11. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_exploit_data_locality/test_ascend_like.py +1 -3
  12. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_exploit_data_locality/test_edge_tpu_like.py +1 -3
  13. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_exploit_data_locality/test_meta_prototype_like.py +1 -3
  14. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_exploit_data_locality/test_tesla_npu_like.py +1 -3
  15. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_exploit_data_locality/test_tpu_like.py +1 -3
  16. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_mix_spatial_mapping/test_ascend_like.py +1 -3
  17. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_mix_spatial_mapping/test_edge_tpu_like.py +1 -3
  18. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_mix_spatial_mapping/test_meta_prototype_like.py +1 -3
  19. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_mix_spatial_mapping/test_tesla_npu_like.py +1 -3
  20. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_mix_spatial_mapping/test_tpu_like.py +1 -3
  21. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/__init__.py +1 -1
  22. zigzag_dse-3.3.0/zigzag/cacti/README.md +10 -0
  23. zigzag_dse-3.3.0/zigzag/cacti/__pycache__/cacti_parser.cpython-311.opt-typeguard421.pyc +0 -0
  24. zigzag_dse-3.3.0/zigzag/cacti/__pycache__/cacti_parser.cpython-311.pyc +0 -0
  25. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/2DDRAM_Samsung2GbDDR2.cfg +194 -0
  26. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/2DDRAM_micron1Gb.cfg +194 -0
  27. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/3DDRAM_Samsung3D8Gb_extened.cfg +197 -0
  28. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/README +122 -0
  29. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/TSV.cc +238 -0
  30. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/TSV.h +96 -0
  31. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/Ucache.cc +1090 -0
  32. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/Ucache.h +101 -0
  33. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/arbiter.cc +130 -0
  34. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/arbiter.h +70 -0
  35. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/area.cc +41 -0
  36. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/area.h +63 -0
  37. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/bank.cc +196 -0
  38. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/bank.h +68 -0
  39. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/basic_circuit.cc +829 -0
  40. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/basic_circuit.h +202 -0
  41. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/cache.cfg_temp +318 -0
  42. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/cache_old.cfg.out +213 -0
  43. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/cacti +0 -0
  44. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/cacti.i +8 -0
  45. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/cacti.mk +53 -0
  46. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/cacti_interface.cc +160 -0
  47. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/cacti_interface.h +766 -0
  48. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/cacti/cacti_master/cacti_top.py +5 -2
  49. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/component.cc +203 -0
  50. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/component.h +69 -0
  51. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/const.h +268 -0
  52. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/contention.dat +126 -0
  53. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/crossbar.cc +184 -0
  54. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/crossbar.h +76 -0
  55. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/ddr3.cfg +254 -0
  56. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/decoder.cc +1537 -0
  57. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/decoder.h +236 -0
  58. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/dram.cfg +114 -0
  59. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/example_mem_pool.yaml +696 -0
  60. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/extio.cc +470 -0
  61. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/extio.h +41 -0
  62. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/extio_technology.cc +1528 -0
  63. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/extio_technology.h +220 -0
  64. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/htree2.cc +681 -0
  65. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/htree2.h +93 -0
  66. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/io.cc +3777 -0
  67. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/io.h +42 -0
  68. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/lpddr.cfg +254 -0
  69. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/main.cc +134 -0
  70. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/makefile +28 -0
  71. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/mat.cc +2260 -0
  72. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/mat.h +173 -0
  73. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/memcad.cc +578 -0
  74. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/memcad.h +25 -0
  75. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/memcad_parameters.cc +406 -0
  76. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/memcad_parameters.h +233 -0
  77. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/memorybus.cc +786 -0
  78. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/memorybus.h +149 -0
  79. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/nuca.cc +587 -0
  80. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/nuca.h +91 -0
  81. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/TSV.o +0 -0
  82. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/Ucache.o +0 -0
  83. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/arbiter.o +0 -0
  84. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/area.o +0 -0
  85. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/bank.o +0 -0
  86. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/basic_circuit.o +0 -0
  87. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/cacti +0 -0
  88. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/cacti_interface.o +0 -0
  89. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/component.o +0 -0
  90. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/crossbar.o +0 -0
  91. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/decoder.o +0 -0
  92. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/extio.o +0 -0
  93. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/extio_technology.o +0 -0
  94. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/htree2.o +0 -0
  95. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/io.o +0 -0
  96. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/main.o +0 -0
  97. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/mat.o +0 -0
  98. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/memcad.o +0 -0
  99. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/memcad_parameters.o +0 -0
  100. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/memorybus.o +0 -0
  101. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/nuca.o +0 -0
  102. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/parameter.o +0 -0
  103. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/powergating.o +0 -0
  104. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/router.o +0 -0
  105. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/subarray.o +0 -0
  106. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/technology.o +0 -0
  107. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/uca.o +0 -0
  108. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/obj_dbg/wire.o +0 -0
  109. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/parameter.cc +3408 -0
  110. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/parameter.h +764 -0
  111. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/powergating.cc +131 -0
  112. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/powergating.h +80 -0
  113. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/regression.test +45 -0
  114. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/router.cc +287 -0
  115. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/router.h +105 -0
  116. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/sample_config_files/ddr3_cache.cfg +259 -0
  117. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/sample_config_files/diff_ddr3_cache.cfg +259 -0
  118. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/sample_config_files/lpddr3_cache.cfg +259 -0
  119. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/sample_config_files/wideio_cache.cfg +259 -0
  120. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/self_gen/cache_a.cfg +270 -0
  121. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/self_gen/cache_a.cfg.out +8 -0
  122. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/subarray.cc +217 -0
  123. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/subarray.h +63 -0
  124. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/tech_params/16nm.dat +1 -0
  125. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/tech_params/180nm-old.dat +294 -0
  126. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/tech_params/180nm.dat +113 -0
  127. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/tech_params/22nm.dat +113 -0
  128. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/tech_params/32nm.dat +113 -0
  129. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/tech_params/45nm.dat +113 -0
  130. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/tech_params/65nm-old.dat +301 -0
  131. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/tech_params/65nm.dat +113 -0
  132. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/tech_params/90nm-old.dat +301 -0
  133. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/tech_params/90nm.dat +113 -0
  134. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/technology.cc +311 -0
  135. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/uca.cc +969 -0
  136. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/uca.h +109 -0
  137. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/version_cacti.h +40 -0
  138. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/wire.cc +848 -0
  139. zigzag_dse-3.3.0/zigzag/cacti/cacti_master/wire.h +113 -0
  140. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/cacti/cacti_parser.py +21 -5
  141. zigzag_dse-3.3.0/zigzag/cacti/self_gen/cache.cfg +269 -0
  142. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/MemoryHierarchy.py +2 -5
  143. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/MemoryInstance.py +1 -2
  144. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/opt/loma/LomaEngine.py +9 -5
  145. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/opt/loma/MemoryAllocator.py +2 -2
  146. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/AcceleratorValidator.py +15 -0
  147. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/accelerator_factory.py +1 -0
  148. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/onnx/ConvParser.py +1 -1
  149. zigzag_dse-3.3.0/zigzag/parser/onnx/GemmParser.py +146 -0
  150. zigzag_dse-3.3.0/zigzag/parser/onnx/MatMulParser.py +5 -0
  151. zigzag_dse-3.3.0/zigzag/parser/onnx/ONNXOperatorParser.py +101 -0
  152. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/onnx/utils.py +13 -18
  153. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/SpatialMappingGeneratorStage.py +1 -2
  154. zigzag_dse-3.3.0/zigzag/visualization/results/plot_cme.py +234 -0
  155. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/workload/DummyNode.py +1 -1
  156. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/workload/ONNXWorkload.py +0 -4
  157. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/workload/layer_node.py +0 -4
  158. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0/zigzag_dse.egg-info}/PKG-INFO +2 -1
  159. zigzag_dse-3.3.0/zigzag_dse.egg-info/SOURCES.txt +244 -0
  160. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag_dse.egg-info/requires.txt +1 -0
  161. zigzag_dse-3.2.1/MANIFEST.in +0 -2
  162. zigzag_dse-3.2.1/zigzag/parser/onnx/GemmParser.py +0 -100
  163. zigzag_dse-3.2.1/zigzag/parser/onnx/MatMulParser.py +0 -70
  164. zigzag_dse-3.2.1/zigzag/parser/onnx/ONNXOperatorParser.py +0 -106
  165. zigzag_dse-3.2.1/zigzag/visualization/results/plot_cme.py +0 -259
  166. zigzag_dse-3.2.1/zigzag_dse.egg-info/SOURCES.txt +0 -126
  167. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/LICENSE +0 -0
  168. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/README.md +0 -0
  169. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/setup.cfg +0 -0
  170. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_imc/__init__.py +0 -0
  171. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_exploit_data_locality/__init__.py +0 -0
  172. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/tests/main/test_with_mix_spatial_mapping/__init__.py +0 -0
  173. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/__main__.py +0 -0
  174. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/api.py +0 -0
  175. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/cacti/cacti_master/cacti_config_creator.py +0 -0
  176. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/cost_model/__init__.py +0 -0
  177. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/cost_model/cost_model.py +0 -0
  178. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/cost_model/cost_model_imc.py +0 -0
  179. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/cost_model/port_activity.py +0 -0
  180. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/datatypes.py +0 -0
  181. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/Accelerator.py +0 -0
  182. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/Adder.py +0 -0
  183. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/Core.py +0 -0
  184. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/ImcArray.py +0 -0
  185. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/__init__.py +0 -0
  186. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/get_cacti_cost.py +0 -0
  187. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/imc_unit.py +0 -0
  188. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/memory_level.py +0 -0
  189. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/memory_port.py +0 -0
  190. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/operational_array.py +0 -0
  191. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/hardware/architecture/operational_unit.py +0 -0
  192. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/inputs/workload/alexnet.onnx +0 -0
  193. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/inputs/workload/mobilenetv2.onnx +0 -0
  194. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/inputs/workload/resnet18.onnx +0 -0
  195. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/mapping/Mapping.py +0 -0
  196. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/mapping/SpatialMappingInternal.py +0 -0
  197. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/mapping/TemporalMapping.py +0 -0
  198. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/mapping/__init__.py +0 -0
  199. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/mapping/data_movement.py +0 -0
  200. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/mapping/mapping_assist_funcs.py +0 -0
  201. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/mapping/spatial_mapping.py +0 -0
  202. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/opt/__init__.py +0 -0
  203. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/opt/loma/Loop.py +0 -0
  204. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/opt/loma/__init__.py +0 -0
  205. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/opt/loma/multipermute.py +0 -0
  206. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/opt/salsa/SalsaEngine.py +0 -0
  207. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/opt/salsa/SalsaState.py +0 -0
  208. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/opt/salsa/__init__.py +0 -0
  209. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/MappingValidator.py +0 -0
  210. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/UpgradedValidator.py +0 -0
  211. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/WorkloadValidator.py +0 -0
  212. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/__init__.py +0 -0
  213. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/arguments.py +0 -0
  214. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/onnx/DefaultNodeParser.py +0 -0
  215. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/onnx/ONNXModelParser.py +0 -0
  216. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/onnx/__init__.py +0 -0
  217. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/parser/workload_factory.py +0 -0
  218. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/py.typed +0 -0
  219. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/AcceleratorParserStage.py +0 -0
  220. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/CostModelStage.py +0 -0
  221. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/MainStage.py +0 -0
  222. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/ONNXModelParserStage.py +0 -0
  223. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/PEArrayScalingStage.py +0 -0
  224. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/PlotTemporalMappingsStage.py +0 -0
  225. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/SalsaStage.py +0 -0
  226. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/SpatialMappingConversionStage.py +0 -0
  227. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/Stage.py +0 -0
  228. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/VisualizationStage.py +0 -0
  229. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/WorkloadParserStage.py +0 -0
  230. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/WorkloadStage.py +0 -0
  231. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/__init__.py +0 -0
  232. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/exploit_data_locality_stages.py +0 -0
  233. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/reduce_stages.py +0 -0
  234. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/run_opt_stages.py +0 -0
  235. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/save_stages.py +0 -0
  236. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/stages/temporal_mapping_generator_stage.py +0 -0
  237. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/utils.py +0 -0
  238. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/visualization/__init__.py +0 -0
  239. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/visualization/graph/__init__.py +0 -0
  240. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/visualization/graph/memory_hierarchy.py +0 -0
  241. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/visualization/graph/workload.py +0 -0
  242. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/visualization/results/__init__.py +0 -0
  243. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/visualization/results/print_mapping.py +0 -0
  244. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/workload/DNNWorkload.py +0 -0
  245. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/workload/LayerAttribute.py +0 -0
  246. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/workload/LayerNodeABC.py +0 -0
  247. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/workload/Workload.py +0 -0
  248. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/workload/__init__.py +0 -0
  249. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag/workload/layer_attributes.py +0 -0
  250. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag_dse.egg-info/dependency_links.txt +0 -0
  251. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag_dse.egg-info/entry_points.txt +0 -0
  252. {zigzag_dse-3.2.1 → zigzag_dse-3.3.0}/zigzag_dse.egg-info/top_level.txt +0 -0
@@ -0,0 +1,2 @@
1
+ include zigzag/inputs/workload/*.onnx
2
+ recursive-include zigzag/cacti *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zigzag-dse
3
- Version: 3.2.1
3
+ Version: 3.3.0
4
4
  Summary: ZigZag - Deep Learning Hardware Design Space Exploration
5
5
  Author-email: Arne Symons <arne.symons@kuleuven.be>, Linyan Mei <linyan.mei@kuleuven.be>
6
6
  License: MIT License
@@ -41,6 +41,7 @@ Requires-Dist: tqdm
41
41
  Requires-Dist: multiprocessing_on_dill
42
42
  Requires-Dist: pyyaml
43
43
  Requires-Dist: cerberus
44
+ Requires-Dist: seaborn
44
45
  Provides-Extra: dev
45
46
  Requires-Dist: bumpver; extra == "dev"
46
47
  Requires-Dist: pip-tools; extra == "dev"
@@ -14,7 +14,7 @@ namespaces = true # true by default
14
14
 
15
15
  [project]
16
16
  name = "zigzag-dse"
17
- version = "3.2.1"
17
+ version = "3.3.0"
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" }]
@@ -34,6 +34,7 @@ dependencies = [
34
34
  'multiprocessing_on_dill',
35
35
  'pyyaml',
36
36
  'cerberus',
37
+ 'seaborn'
37
38
  ]
38
39
  requires-python = ">=3.11"
39
40
 
@@ -48,7 +49,7 @@ Homepage = "https://github.com/KULeuven-MICAS/zigzag"
48
49
  realpython = "zigzag.__main__:main"
49
50
 
50
51
  [tool.bumpver]
51
- current_version = "3.2.1"
52
+ current_version = "3.3.0"
52
53
  version_pattern = "MAJOR.MINOR.PATCH"
53
54
  commit_message = "bump version {old_version} -> {new_version}"
54
55
  commit = true
@@ -9,10 +9,13 @@ workloads = (
9
9
 
10
10
  # Expected energy, latency (#cycles), clk time and area for each workload defined above
11
11
  ens_lats_clks_areas = {
12
- "zigzag/inputs/workload/alexnet.onnx": (6780119394.667442, 9261169.0, 14.07244, 2.3426222152749223),
13
- "zigzag/inputs/workload/mobilenetv2.onnx": (2318251910.682223, 10901796.0, 14.07244, 2.3426222152749223),
14
- "zigzag/inputs/workload/resnet18.onnx": (4695729577.211851, 5540648.0, 14.07244, 2.3426222152749223),
15
- "zigzag/inputs/workload/resnet18.yaml": (4264976904.6396008, 4907495.0, 14.07244, 2.3426222152749223),
12
+ "zigzag/inputs/workload/resnet18.onnx": (4696819238.427852, 5553018.0, 14.07244, 2.2878123152749223),
13
+ "zigzag/inputs/workload/resnet18.yaml": (
14
+ 4264976904.6396008,
15
+ 4907495.0,
16
+ 14.07244,
17
+ 2.2878123152749223,
18
+ ),
16
19
  }
17
20
 
18
21
 
@@ -35,6 +38,7 @@ def test_api(workload: str, accelerator: str, mapping: str): # pylint: disable=
35
38
  expected_tclk,
36
39
  expected_area,
37
40
  ) = ens_lats_clks_areas[workload]
41
+ print(f"'{workload}': ({energy}, {latency}, {tclk}, {area}),")
38
42
  assert energy == pytest.approx(expected_energy) # type: ignore
39
43
  assert latency == pytest.approx(expected_latency) # type: ignore
40
44
  assert tclk == pytest.approx(expected_tclk) # type: ignore
@@ -9,10 +9,13 @@ workloads = (
9
9
 
10
10
  # Expected energy, latency (#cycles), clk time and area for each workload defined above
11
11
  ens_lats_clks_areas = {
12
- "zigzag/inputs/workload/alexnet.onnx": (6811036226.435776, 9458913.0, 3.75708, 0.8566212024),
13
- "zigzag/inputs/workload/mobilenetv2.onnx": (2884847085.7898636, 20453908.0, 3.75708, 0.8566212024),
14
- "zigzag/inputs/workload/resnet18.onnx": (4726170712.825855, 6337728.0, 3.75708, 0.8566212024),
15
- "zigzag/inputs/workload/resnet18.yaml": (4268285089.3547516, 5789229.0, 3.75708, 0.8566212024),
12
+ "zigzag/inputs/workload/resnet18.onnx": (4727682330.905855, 6365842.0, 3.75708, 0.8018113023999999),
13
+ "zigzag/inputs/workload/resnet18.yaml": (
14
+ 4268285089.3547516,
15
+ 5789229.0,
16
+ 3.75708,
17
+ 0.8018113023999999,
18
+ ),
16
19
  }
17
20
 
18
21
 
@@ -35,6 +38,7 @@ def test_api(workload: str, accelerator: str, mapping: str): # pylint: disable=
35
38
  expected_tclk,
36
39
  expected_area,
37
40
  ) = ens_lats_clks_areas[workload]
41
+ print(f"'{workload}': ({energy}, {latency}, {tclk}, {area}),")
38
42
  assert energy == pytest.approx(expected_energy) # type: ignore
39
43
  assert latency == pytest.approx(expected_latency) # type: ignore
40
44
  assert tclk == pytest.approx(expected_tclk) # type: ignore
@@ -9,7 +9,7 @@ workloads = (
9
9
 
10
10
  # Expected energy and latency for each workload defined above
11
11
  ens_lats = {
12
- "zigzag/inputs/workload/resnet18.onnx": (1860963861.6800003, 3698589.0),
12
+ "zigzag/inputs/workload/resnet18.onnx": (1860725512.0800002, 3734111.0),
13
13
  "zigzag/inputs/workload/resnet18.yaml": (2411783423.28, 4779709.0),
14
14
  }
15
15
 
@@ -9,7 +9,7 @@ workloads = (
9
9
 
10
10
  # Expected energy and latency for each workload defined above
11
11
  ens_lats = {
12
- "zigzag/inputs/workload/resnet18.onnx": (1902637139.1499994, 3333310.0),
12
+ "zigzag/inputs/workload/resnet18.onnx": (1903376014.3499994, 3333310.0),
13
13
  "zigzag/inputs/workload/resnet18.yaml": (2413348670.67, 4268451.0),
14
14
  }
15
15
 
@@ -9,7 +9,7 @@ workloads = (
9
9
 
10
10
  # Expected energy and latency for each workload defined above
11
11
  ens_lats = {
12
- "zigzag/inputs/workload/resnet18.onnx": (1869036158.08, 3366695.0),
12
+ "zigzag/inputs/workload/resnet18.onnx": (1870400796.8, 3614956.0),
13
13
  "zigzag/inputs/workload/resnet18.yaml": (2418511845.2400002, 4130645.0),
14
14
  }
15
15
 
@@ -9,7 +9,7 @@ workloads = (
9
9
 
10
10
  # Expected energy and latency for each workload defined above
11
11
  ens_lats = {
12
- "zigzag/inputs/workload/resnet18.onnx": (1863716799.84, 3380242.0),
12
+ "zigzag/inputs/workload/resnet18.onnx": (1865018192.8319998, 3876369.0),
13
13
  "zigzag/inputs/workload/resnet18.yaml": (2374655424.176, 4066942.0),
14
14
  }
15
15
 
@@ -9,7 +9,7 @@ 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.6559997, 4158539.0),
12
+ "zigzag/inputs/workload/resnet18.onnx": (1871930384.8159997, 4159004.0),
13
13
  "zigzag/inputs/workload/resnet18.yaml": (2615172831.3759995, 6136285.0),
14
14
  }
15
15
 
@@ -8,9 +8,7 @@ workloads = (
8
8
 
9
9
  # Expected energy and latency for each workload defined above
10
10
  ens_lats = {
11
- "zigzag/inputs/workload/alexnet.onnx": (5649553476, 8605524),
12
- "zigzag/inputs/workload/mobilenetv2.onnx": (1880536921, 6472147),
13
- "zigzag/inputs/workload/resnet18.onnx": (1711355797, 3567658),
11
+ "zigzag/inputs/workload/resnet18.onnx": (1711117447.5200002, 3603174.0),
14
12
  "zigzag/inputs/workload/resnet18.yaml": (2246606942, 4638794),
15
13
  }
16
14
 
@@ -8,9 +8,7 @@ workloads = (
8
8
 
9
9
  # Expected energy and latency for each workload defined above
10
10
  ens_lats = {
11
- "zigzag/inputs/workload/alexnet.onnx": (5568602396.684999, 8134431),
12
- "zigzag/inputs/workload/mobilenetv2.onnx": (735250234.1699998, 2417321.0),
13
- "zigzag/inputs/workload/resnet18.onnx": (1783299827.71, 3156625.0),
11
+ "zigzag/inputs/workload/resnet18.onnx": (1784038702.91, 3156625.0),
14
12
  "zigzag/inputs/workload/resnet18.yaml": (2115121959.8699996, 3855157.0),
15
13
  }
16
14
 
@@ -8,9 +8,7 @@ workloads = (
8
8
 
9
9
  # Expected energy and latency for each workload defined above
10
10
  ens_lats = {
11
- "zigzag/inputs/workload/alexnet.onnx": (5679636177, 8279493),
12
- "zigzag/inputs/workload/mobilenetv2.onnx": (901087682, 2596085),
13
- "zigzag/inputs/workload/resnet18.onnx": (1730188945, 3231087),
11
+ "zigzag/inputs/workload/resnet18.onnx": (1731553583.8400002, 3479347.0),
14
12
  "zigzag/inputs/workload/resnet18.yaml": (2264057101, 3984645),
15
13
  }
16
14
 
@@ -8,9 +8,7 @@ workloads = (
8
8
 
9
9
  # Expected energy and latency for each workload defined above
10
10
  ens_lats = {
11
- "zigzag/inputs/workload/alexnet.onnx": (6039993369, 8373281),
12
- "zigzag/inputs/workload/mobilenetv2.onnx": (930699349, 1955657),
13
- "zigzag/inputs/workload/resnet18.onnx": (1724869587, 3247768),
11
+ "zigzag/inputs/workload/resnet18.onnx": (1726170979.8719997, 3743894.0),
14
12
  "zigzag/inputs/workload/resnet18.yaml": (2220200680, 3924484),
15
13
  }
16
14
 
@@ -8,9 +8,7 @@ workloads = (
8
8
 
9
9
  # Expected energy and latency for each workload defined above
10
10
  ens_lats = {
11
- "zigzag/inputs/workload/alexnet.onnx": (5475639039, 8963572),
12
- "zigzag/inputs/workload/mobilenetv2.onnx": (952681462, 21868059),
13
- "zigzag/inputs/workload/resnet18.onnx": (1735241704.2240005, 3998241.0),
11
+ "zigzag/inputs/workload/resnet18.onnx": (1735735708.3840003, 3998705.0),
14
12
  "zigzag/inputs/workload/resnet18.yaml": (2302362179.968, 5736497.0),
15
13
  }
16
14
 
@@ -11,9 +11,7 @@ workloads = (
11
11
 
12
12
  # Expected energy and latency for each workload defined above
13
13
  ens_lats = {
14
- "zigzag/inputs/workload/alexnet.onnx": (5664863934, 8479644),
15
- "zigzag/inputs/workload/mobilenetv2.onnx": (920740293, 3814440),
16
- "zigzag/inputs/workload/resnet18.onnx": (1680938520, 3697986),
14
+ "zigzag/inputs/workload/resnet18.onnx": (1680986460.6400003, 3829493.0),
17
15
  "zigzag/inputs/workload/resnet18.yaml": (2286320480, 4418088),
18
16
  }
19
17
 
@@ -11,9 +11,7 @@ workloads = (
11
11
 
12
12
  # Expected energy and latency for each workload defined above
13
13
  ens_lats = {
14
- "zigzag/inputs/workload/alexnet.onnx": (6159980160, 8337351),
15
- "zigzag/inputs/workload/mobilenetv2.onnx": (742114179, 2421959),
16
- "zigzag/inputs/workload/resnet18.onnx": (1735517944, 4055269),
14
+ "zigzag/inputs/workload/resnet18.onnx": (1738892454.2700002, 4247189.0),
17
15
  "zigzag/inputs/workload/resnet18.yaml": (2029477205, 4738407),
18
16
  }
19
17
 
@@ -11,9 +11,7 @@ workloads = (
11
11
 
12
12
  # Expected energy and latency for each workload defined above
13
13
  ens_lats = {
14
- "zigzag/inputs/workload/alexnet.onnx": (5681909132.480001, 8279495.0),
15
- "zigzag/inputs/workload/mobilenetv2.onnx": (909647916.68, 2602479.0),
16
- "zigzag/inputs/workload/resnet18.onnx": (1751779924.0000002, 3234867.0),
14
+ "zigzag/inputs/workload/resnet18.onnx": (1753144562.7200003, 3483127.0),
17
15
  "zigzag/inputs/workload/resnet18.yaml": (2259198622.68, 3884859.0),
18
16
  }
19
17
 
@@ -11,9 +11,7 @@ workloads = (
11
11
 
12
12
  # Expected energy and latency for each workload defined above
13
13
  ens_lats = {
14
- "zigzag/inputs/workload/alexnet.onnx": (6006136982.778, 8290892.0),
15
- "zigzag/inputs/workload/mobilenetv2.onnx": (947736166.5380002, 1857838.0),
16
- "zigzag/inputs/workload/resnet18.onnx": (1604556365.552, 2828301.0),
14
+ "zigzag/inputs/workload/resnet18.onnx": (1605857758.544, 3324427.0),
17
15
  "zigzag/inputs/workload/resnet18.yaml": (2094141825.5040002, 3480232.0),
18
16
  }
19
17
 
@@ -11,9 +11,7 @@ workloads = (
11
11
 
12
12
  # Expected energy and latency for each workload defined above
13
13
  ens_lats = {
14
- "zigzag/inputs/workload/alexnet.onnx": (5589583403, 8671208),
15
- "zigzag/inputs/workload/mobilenetv2.onnx": (932571650, 7304307),
16
- "zigzag/inputs/workload/resnet18.onnx": (1759424218.3160002, 4495469.0),
14
+ "zigzag/inputs/workload/resnet18.onnx": (1763016528.7640002, 4688029.0),
17
15
  "zigzag/inputs/workload/resnet18.yaml": (2191903732.78, 4845353.0),
18
16
  }
19
17
 
@@ -1,3 +1,3 @@
1
- __version__ = "3.2.1"
1
+ __version__ = "3.3.0"
2
2
 
3
3
  # from . import visualization as visualization
@@ -0,0 +1,10 @@
1
+ # Cacti7_automation
2
+
3
+ Run CACTI7 in batches and auto-generate mem_pool.yaml, which is required by ZigZag as input file.
4
+
5
+ Use commends:
6
+ ```
7
+ cd ./cacti-master
8
+ python3 cacti_top.py
9
+ ```
10
+ To get more configuration details, you can read the comments in "cacti_top.py" and "cacti_config_creator.py".
@@ -0,0 +1,194 @@
1
+ # Cache size
2
+ //-size (bytes) 528
3
+ //-size (bytes) 4096
4
+ //-size (bytes) 262144
5
+ //-size (bytes) 1048576
6
+ //-size (bytes) 2097152
7
+ //-size (bytes) 4194304
8
+ //-size (bytes) 8388608
9
+ //-size (bytes) 16777216
10
+ //-size (bytes) 33554432
11
+ //-size (bytes) 134217728
12
+ //-size (bytes) 268435456
13
+ //-size (bytes) 536870912
14
+ //-size (bytes) 67108864
15
+ //-size (bytes) 536870912
16
+ //-size (bytes) 1073741824
17
+ # For 3D DRAM memory please use Gb as units
18
+ -size (Gb) 2
19
+
20
+ # Line size
21
+ //-block size (bytes) 8
22
+ -block size (bytes) 128
23
+
24
+ # To model Fully Associative cache, set associativity to zero
25
+ //-associativity 0
26
+ //-associativity 2
27
+ //-associativity 4
28
+ -associativity 1
29
+ //-associativity 16
30
+
31
+ -read-write port 1
32
+ -exclusive read port 0
33
+ -exclusive write port 0
34
+ -single ended read ports 0
35
+
36
+ # Multiple banks connected using a bus
37
+ -UCA bank count 16
38
+ //-technology (u) 0.032
39
+ //-technology (u) 0.040
40
+ //-technology (u) 0.065
41
+ //-technology (u) 0.078
42
+ -technology (u) 0.080
43
+
44
+ # following three parameters are meaningful only for main memories
45
+
46
+ //-page size (bits) 8192
47
+ -burst length 4
48
+ -internal prefetch width 1
49
+
50
+ # following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram)
51
+ //-Data array cell type - "itrs-hp"
52
+ //-Data array cell type - "itrs-lstp"
53
+ //-Data array cell type - "itrs-lop"
54
+ -Data array cell type - "comm-dram"
55
+
56
+ # following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop)
57
+ //-Data array peripheral type - "itrs-hp"
58
+ -Data array peripheral type - "itrs-lstp"
59
+ //-Data array peripheral type - "itrs-lop"
60
+
61
+ # following parameter can have one of five values -- (itrs-hp, itrs-lstp, itrs-lop, lp-dram, comm-dram)
62
+ -Tag array cell type - "itrs-hp"
63
+ //-Tag array cell type - "itrs-lstp"
64
+
65
+ # following parameter can have one of three values -- (itrs-hp, itrs-lstp, itrs-lop)
66
+ -Tag array peripheral type - "itrs-hp"
67
+ //-Tag array peripheral type - "itrs-lstp"
68
+
69
+ # Bus width include data bits and address bits required by the decoder
70
+ //-output/input bus width 16
71
+ //-output/input bus width 64
72
+ -output/input bus width 64
73
+
74
+ // 300-400 in steps of 10
75
+ -operating temperature (K) 350
76
+
77
+ # Type of memory - cache (with a tag array) or ram (scratch ram similar to a register file)
78
+ # or main memory (no tag array and every access will happen at a page granularity Ref: CACTI 5.3 report)
79
+ //-cache type "cache"
80
+ //-cache type "ram"
81
+ //-cache type "main memory"
82
+ -cache type "3D memory or 2D main memory"
83
+
84
+ # Parameters for 3D DRAM
85
+ //-page size (bits) 16384
86
+ -page size (bits) 8192
87
+ //-page size (bits) 4096
88
+ -burst depth 4
89
+ -IO width 4
90
+ -system frequency (MHz) 266
91
+
92
+ -stacked die count 1
93
+ -partitioning granularity 0 // 0: coarse-grained rank-level; 1: fine-grained rank-level
94
+ //-TSV projection 1 // 0: ITRS aggressive; 1: industrial conservative
95
+
96
+ ## End of parameters for 3D DRAM
97
+
98
+ # to model special structure like branch target buffers, directory, etc.
99
+ # change the tag size parameter
100
+ # if you want cacti to calculate the tagbits, set the tag size to "default"
101
+ -tag size (b) "default"
102
+ //-tag size (b) 45
103
+
104
+ # fast - data and tag access happen in parallel
105
+ # sequential - data array is accessed after accessing the tag array
106
+ # normal - data array lookup and tag access happen in parallel
107
+ # final data block is broadcasted in data array h-tree
108
+ # after getting the signal from the tag array
109
+ -access mode (normal, sequential, fast) - "fast"
110
+ //-access mode (normal, sequential, fast) - "normal"
111
+ //-access mode (normal, sequential, fast) - "sequential"
112
+
113
+
114
+ # DESIGN OBJECTIVE for UCA (or banks in NUCA)
115
+ -design objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:0:100
116
+
117
+ # Percentage deviation from the minimum value
118
+ # Ex: A deviation value of 10:1000:1000:1000:1000 will try to find an organization
119
+ # that compromises at most 10% delay.
120
+ # NOTE: Try reasonable values for % deviation. Inconsistent deviation
121
+ # percentage values will not produce any valid organizations. For example,
122
+ # 0:0:100:100:100 will try to identify an organization that has both
123
+ # least delay and dynamic power. Since such an organization is not possible, CACTI will
124
+ # throw an error. Refer CACTI-6 Technical report for more details
125
+ -deviate (delay, dynamic power, leakage power, cycle time, area) 50:100000:100000:100000:1000000
126
+
127
+ # Objective for NUCA
128
+ -NUCAdesign objective (weight delay, dynamic power, leakage power, cycle time, area) 0:0:0:0:100
129
+ -NUCAdeviate (delay, dynamic power, leakage power, cycle time, area) 10:10000:10000:10000:10000
130
+
131
+ # Set optimize tag to ED or ED^2 to obtain a cache configuration optimized for
132
+ # energy-delay or energy-delay sq. product
133
+ # Note: Optimize tag will disable weight or deviate values mentioned above
134
+ # Set it to NONE to let weight and deviate values determine the
135
+ # appropriate cache configuration
136
+ //-Optimize ED or ED^2 (ED, ED^2, NONE): "ED"
137
+ //-Optimize ED or ED^2 (ED, ED^2, NONE): "ED^2"
138
+ -Optimize ED or ED^2 (ED, ED^2, NONE): "NONE"
139
+
140
+ -Cache model (NUCA, UCA) - "UCA"
141
+ //-Cache model (NUCA, UCA) - "NUCA"
142
+
143
+ # In order for CACTI to find the optimal NUCA bank value the following
144
+ # variable should be assigned 0.
145
+ -NUCA bank count 0
146
+
147
+ # NOTE: for nuca network frequency is set to a default value of
148
+ # 5GHz in time.c. CACTI automatically
149
+ # calculates the maximum possible frequency and downgrades this value if necessary
150
+
151
+ # By default CACTI considers both full-swing and low-swing
152
+ # wires to find an optimal configuration. However, it is possible to
153
+ # restrict the search space by changing the signaling from "default" to
154
+ # "fullswing" or "lowswing" type.
155
+ -Wire signaling (fullswing, lowswing, default) - "Global_5"
156
+ //-Wire signaling (fullswing, lowswing, default) - "default"
157
+ //-Wire signaling (fullswing, lowswing, default) - "lowswing"
158
+
159
+ //-Wire inside mat - "global"
160
+ -Wire inside mat - "semi-global"
161
+ -Wire outside mat - "global"
162
+ //-Wire outside mat - "semi-global"
163
+
164
+ -Interconnect projection - "conservative"
165
+ //-Interconnect projection - "aggressive"
166
+
167
+ # Contention in network (which is a function of core count and cache level) is one of
168
+ # the critical factor used for deciding the optimal bank count value
169
+ # core count can be 4, 8, or 16
170
+ //-Core count 4
171
+ -Core count 8
172
+ //-Core count 16
173
+ -Cache level (L2/L3) - "L3"
174
+
175
+ -Add ECC - "false"
176
+
177
+ //-Print level (DETAILED, CONCISE) - "CONCISE"
178
+ -Print level (DETAILED, CONCISE) - "DETAILED"
179
+
180
+ # for debugging
181
+ //-Print input parameters - "true"
182
+ -Print input parameters - "false"
183
+ # force CACTI to model the cache with the
184
+ # following Ndbl, Ndwl, Nspd, Ndsam,
185
+ # and Ndcm values
186
+ -Force cache config - "true"
187
+ //-Force cache config - "false"
188
+ -Ndwl 128
189
+ -Ndbl 32
190
+ -Nspd 1
191
+ -Ndcm 1
192
+ -Ndsam1 1
193
+ -Ndsam2 1
194
+